KIF - интеграция с CI
С более ранней версией KIF я могу добавить заголовочный файл testcontroller в методе appDelegate didFinishLaunching, и мой CI будет работать.
testcontroller.h
#import <Foundation/Foundation.h>
#import "KIFTestController.h"
@interface testcontroller : KIFTestController
@end
testcontroller.m
#import "KIFTestScenario.h"
@implementation testcontroller
- (void)initializeScenarios;
{
[self addScenario:[KIFTestScenario scenarioToTest]];
}
@end
И мой делегат приложения будет,
#ifdef RUN_KIF_TESTS
//DebugLog(@"%d",testsAreRunning);
if (!testsAreRunning){
//DebugLog(@"Run KIF Tests");
[[testcontroller sharedInstance] startTestingWithCompletionBlock:^{
// Exit after the tests complete so that CI knows we're done
exit([[testcontroller sharedInstance] failureCount]);
}];
testsAreRunning=YES;
}
#endif
С новым KIf (KIF-next) я не знаю, как это сделать, потому что нет файла контроллера.
Кто-нибудь, как сгруппировать тесты в контроллере для новой структуры KIF?
1 ответ
Вы должны выполнить цель тестирования приложения на сервере непрерывной интеграции. Например, в разделе "Решение" Настройка Jenkins CI для разработки iOS объясняется, как вы можете настроить pre Xcode 5 для выполнения тестов. В качестве альтернативы, посмотрите раздел "Запуск спецификаций киви из командной строки" непрерывной интеграции проектов iOS с использованием Jenkins, CocoaPods и Kiwi. Хотя они описывают решение для выполнения тестов Kiwi вместо тестов KIF, они в основном решают ту же проблему, а именно выполнение цели тестирования приложения с использованием Jenkins.