2

使用早期的 KIF,我可以在 appdelegate 的 didFinishLaunching 方法中添加 testcontroller 头文件,这样我的 CI 就可以工作了。

测试控制器.h

#import <Foundation/Foundation.h>
#import "KIFTestController.h"

@interface testcontroller : KIFTestController

@end

测试控制器.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 结构分组测试?

4

1 回答 1

3

您必须在持续集成服务器上执行应用程序测试目标。例如,为 iOS 开发设置 Jenkins CI 的“解决方案”部分解释了如何配置 pre Xcode 5 来执行测试。或者,查看使用 Jenkins、CocoaPods 和 Kiwi 持续集成 iOS 项目的“从命令行运行 Kiwi Specs”部分。尽管他们描述了执行 Kiwi 测试而不是 kif 测试的解决方案,但它们基本上解决了相同的问题,即使用 Jenkins 执行应用程序测试目标。

于 2013-09-23T19:30:07.600 回答