如何在目标c中编写自定义测试用例?

时间:2012-07-10 04:23:21

标签: iphone ios unit-testing

我可以在目标c中为测试用例设置自己的自定义断言语句吗?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

断言语句只是宏,因此没有理由不能编写自己的语句。查看SenTestCase_Macros.h以了解它们的实施方式。如果它是你一直使用的东西,编写自己的自定义断言可能是值得的,但通常只需编写自己的逻辑并执行像nhahtdh推荐的STAssertTrue。

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

答案 2 :(得分:0)

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

一种解决方案是编写用于记录行为或将内部状态暴露给测试单元的代码,并使用#ifdef围绕这样的代码块。

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