iPhone sdk 3.1.2,xcode 3.1.4,mac os x 10.5.8,
我是一个使用OCUnit的新手带有iphone sdk。我得到的唯一错误是:
错误:测试装置'/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.2.sdk/Developer/usr/bin/otest'存在异常代码139 (可能已经崩溃了。)
有谁知道它是什么?感谢。
编辑:我找到了原因。我把非常愚蠢的代码放在我编写单元测试的类的-dealloc中。像这样:- (void)dealloc {
[someObject1 dealloc]; //wtf, dealloc?
[someObject2 dealloc]; //wtf, dealloc?
[super dealloc];
}
有时这会导致代码139,有时会导致138。
答案 0 :(得分:3)
当我看到这个时,通常意味着我的单元测试一旦出现错误逻辑并导致otest
崩溃。这不是一个非常有用的答案,因为代码139不是一个非常有用的错误代码。遗憾!
答案 1 :(得分:1)
当OCUnit与代码139崩溃时,它确实可能是任何东西。通常会出现此错误代码,因为它是运行时错误,而不是编译时错误。所以,你正在做一些编译器可以正常使用的东西,但是在运行时它会失败。
在发生这种情况时,有些事情要看一看,但它确实比这更复杂。
1.检查dealloc / alloc区域,确保这些对象确实存在/正确调用
2.检查你的拼写,拼写错误等...(两个变量同样命名,但错误使用?演员?)
3.尝试隔离您的测试,意味着,通过您的测试来找出哪一个失败。由于代码问题,OCUnit崩溃了。
4.如果所有其他方法都失败了,让代码以模拟器而不是OCUnit为目标,那么你应该得到更有意义的松弛痕迹。