使用早期的KIF,我可以在appdelegate的didFinishLaunching方法中添加testcontroller头文件,我的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
我的app代表就是,
#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结构分组测试?
答案 0 :(得分:3)
您必须在持续集成服务器上执行应用程序测试目标。例如,Setting Up Jenkins CI for iOS Development的“解决方案”部分解释了如何配置预Xcode 5以执行测试。或者,请查看Continuous Integration of iOS Projects using Jenkins, CocoaPods, and Kiwi中的“从命令行运行Kiwi规范”部分。虽然他们描述了执行Kiwi测试而不是kif测试的解决方案,但它们基本上解决了同样的问题,即使用Jenkins执行应用程序测试目标。