来自XCTestCase的WKInterfaceController子类的“alloc init”崩溃了

时间:2015-03-08 12:39:39

标签: ios unit-testing watchkit

我正在尝试为我的WatchKit代码编写单元测试。我按照调试和单元测试下的article中的说明为我的WatchKit代码设置了测试。

唯一的一点是,当我正在编写一个XCTestCase子类来对我的一个WKInterfaceControllers进行单元测试时,当执行该行时,我会分配/初始化它,EXEC_BAD_ACCESS崩溃。

- (void)testAwakeWithContext
{
    //CRASH on this line
    WKInterfaceController *interfaceController = [[WKInterfaceController alloc] init];
}

2 个答案:

答案 0 :(得分:1)

可以确认这也发生在WatchKit 2.0上(如果您认为耐心是答案)但理论上您可以将逻辑移动到NSObject或类似物中并独立于InterfaceController进行测试,同时仍然可以调用逻辑?显然也适用于数据等。

答案 1 :(得分:0)

很遗憾,您无法以编程方式创建新的WatchKit对象。必须全部从Storyboard文件设置。我不认为目前有正式的方法来测试WatchKit代码。

我发现这篇文章有一个有趣的项目,可以用来测试你的代码。看看:http://pivotallabs.com/watchkit-test-tools-pivotalcorekit/