هل من الممكن لتشغيل الاختبارات على أساس كسكتست تحت الصكوك في كسكودي 5?
-
21-12-2019 - |
سؤال
النظر في شكتيست و كسكودي 5 وحدة اختبار وعدم رؤية كيفية تشغيل اختبارات وحدة بلدي تحت الصكوك في كسكودي 5...
على وجه التحديد ، أود البحث عن التسريبات أثناء الاختبار (لا يجب أن يكون هذا آليا في هذه الحالة ، على الرغم من أنه من الواضح أن ذلك سيكون مفيدا).
ممكن?
المحلول
أعتقد أن هذه هي أسهل طريقة:
- تعيين نقطة توقف في مكان ما في الاختبارات الخاصة بك (لقد كنت أفعل ذلك في طريقة الإعداد)
- افتح مستند جديد في الأدوات
- قم بتشغيل التطبيق وتأكد من إيقافها عند نقطة توقف
- من القائمة المنسدلة المستهدفة في الأدوات، اختر إرفاق معالجتها والتمرير لأسفل لعمليتك
- انقر فوق السجل ثم استئناف في Xcode
نصائح أخرى
وإليك الطريقة الصحيحة للقيام بذلك تحت كسكودي 6:
1) في مشروع كسكودي الخاص بك ، تكشف عن مجلد "المنتجات" ، حدد ".شكتست "المنتج ، انقر بزر الماوس الأيمن وأخيرا اختيار" تكشف في الباحث " في القائمة السياقية.
2) إطلاق الصكوك وإنشاء مستند جديد مع قالب من اختيارك.
3) هل " اختيار الهدف..."بالنسبة للوثيقة
4) انتقل وحدد الأداة يستخدم كسكودي لتشغيل الاختبارات الموجودة في /Applications/Xcode.app/Contents/Developer/usr/bin/xctest
(يمكنك العثور على هذا الموقع باستخدام xcrun -f xctest
في محطة) - سوف تحتاج إلى تمكين "حزم اجتياز" للتنقل داخل التطبيق كسكودي.
5) سحب وإسقاط من الباحث في حقل" الحجج"".كشف المنتج "شكتست" في الخطوة 1-وهذا يدخل مساره المطلق.
6) انقر فوق "اختيار".
أنت الآن جاهز لتشغيل اختبارات وحدتك من الأدوات!
I created a new target based on the mac app target I am testing, then added the xctest classes to the files to compile.
I then added the /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework to the frameworks to link against.
Then added its path $(DEVELOPER_DIR)/Platforms/MacOSX.platform/Developer/Library/Frameworks to the Runpath Search Paths.
Then in the main.m I added the following:
XCTestSuite *suite = [XCTestSuite testSuiteWithName:@"My tests"];
[suite addTest:[VideohogCachingTest testCaseWithSelector:@selector(testCompleteSequentialText)]];
[suite run];
This ran the test testCompleteSequentialText on the class VideohogCachingTest I needed to run as a normal application, therefore allowing me to run the test by either command+R or in this case, profiling with command+I. I could then catch a zombie and trace the problem, which was not a possibility for me previously. If you'd like to run all your tests you can do:
XCTestSuite *suite = [XCTestSuite defaultTestSuite];
[suite run];