eme*_*gro 5 xcode unit-testing objective-c ios
我想测试我的API的合同,所以,例如,如果创建了一个带有一些参数的对象,nil
则会引发断言,但如果断言被禁用(Release config),它只返回nil.
我的测试方案有Debug的构建配置,所以在我的API契约测试中,我检查是否创建了一个带有nil参数的对象返回一个nil对象.但是在XCTAssertNil
执行之前会引发构造函数的断言,因此我的测试总是失败.
我可以在测试时禁用断言吗?我试图添加NS_BLOCK_ASSERTIONS
在启动时传递的方案参数,但这不起作用.
解决了,我添加了一个新的配置,从Debug复制,调用Test
.
然后NS_BLOCK_ASSERTIONS=1
在构建设置预处理器宏中添加.
最后,更改测试方案中的测试操作.
现在它工作:)