我是xcode和objective-c的新手。我还决定在我的项目中添加单元(逻辑)测试。测试工作正常(使用OCUnit和SenTestingKit)。我不明白的是build for testing
是如何运作的。让我解释..
我编写了一个检查空数组的简单单元测试 - 使用
STAssertTrue([array count] ==0, @"Should have an empty array, but it is not");
这构建良好,测试通过。
现在,如果我将其从0更改为1,则构建失败。对我来说,为什么构建失败是没有意义的 - 代码没有任何错误。在我看来,构建实际上是运行代码而断言是断言。
如果方法返回一个包含一个元素的数组,如何逐步执行代码来确定方法中的问题?在这个简单的例子中显而易见的是问题,但如果要测试的方法有更深入的问题,则需要逐步完成它来纠正问题。像这样的运行单元测试似乎不太容易使用 - 除非有一些我完全遗漏的东西。
我的问题是:如何逐步完成失败的单元测试?
答案 0 :(得分:1)
如果您不希望破坏的测试导致构建失败,则需要关闭项目中的构建后测试设置。如果将来您的构建因测试而失败,您可以通过执行它们(Product - > Test)和设置断点来调试测试用例,就像调试任何其他代码一样。对于Xcode来说情况并非总是如此,但正如您所说的那样,它与4.3一样。
您还会问“Build for Testing”是什么意思。这个问题涉及同一理由:Xcode 4 terms "Build for testing / Build for running / build for profiling / build for archiving"