0

我是 xcode 和 Objective-c 的新手。我还决定在我的项目中添加单元(逻辑)测试。测试工作正常(使用 OCUnit 和 SenTestingKit)。我不明白的是它是如何build for testing工作的。让我解释..

我编写了一个简单的单元测试来检查一个空数组 - 使用

STAssertTrue([array count] ==0, @"Should have an empty array, but it is not");

这构建得很好并且测试通过了。

现在,如果我将其从 0 更改为 1,则构建失败。为什么构建失败对我来说没有意义 - 代码没有任何错误。在我看来,构建实际上正在运行代码并且断言正在断言。

如果方法要返回一个包含一个元素的数组,如何通过代码一步来确定方法中的问题?在这个简单的例子中问题很明显,但如果要测试的方法更深入,则需要逐步解决问题。像这样运行单元测试似乎不太容易使用——除非我完全错过了一些东西。

我的问题是:如何逐步完成失败的单元测试?

4

1 回答 1

1

如果您不希望损坏的测试导致构建失败,则需要关闭项目中的“构建后测试”设置。如果将来您的构建由于您的测试而失败,您可以通过执行它们(产品 -> 测试)并设置断点来调试您的测试用例,就像调试任何其他代码一样。Xcode 并非总是如此,但正如您所说,您正在使用 4.3。

您还问“为测试而构建”是什么意思。这个问题涵盖了相同的领域:Xcode 4 术语“为测试而构建/为运行而构建/为分析而构建/为归档而构建”

于 2012-06-08T18:18:52.543 回答