1

我可以为目标 c 中的测试用例自定义我自己的自定义 stassert 语句吗?

4

3 回答 3

0

是的,你可以写它们。
阅读有关 GHUnit、OCUnit 和 OCMock 单元测试的信息。
阅读本教程http://www.raywenderlich.com/3716/unit-testing-in-xcode-4-quick-start-guide

于 2012-07-10T04:30:15.000 回答
0

断言语句只是宏,所以没有理由不能自己编写。查看SenTestCase_Macros.h它们是如何实现的。如果它是您一直使用的东西,那么编写自己的自定义断言可能是值得的,但通常只编写自己的逻辑并像 nhahtdh 推荐的那样执行 STAssertTrue 会更容易。

如果我现在开始使用 iOS 单元测试,我会直接使用Kiwi。它的语法比 SenTestingKit 好得多,并且编写自己的自定义高级匹配器要容易得多(编写一个简洁的小类,而不是一个难以理解的宏)。

于 2012-07-10T04:30:38.053 回答
0

如果您正在进行集成测试或涉及多个不同组件之间交互的测试,我知道很难确认某些行为是否发生 - 因为该行为可能被隐藏甚至没有记录在主代码中。

一种解决方案是编写代码来记录行为或向测试单元公开内部状态,并用于#ifdef包围这样的代码块。

您可以将预处理器宏添加到调试模式的应用程序目标(而不是测试目标)的构建设置中。不过,这可能是混淆的潜在来源。

于 2012-07-10T07:25:57.570 回答