我想测试我的 API 的契约,例如,如果创建一个对象时带有一些参数为 nil
,则会引发断言,但如果断言被禁用(发布配置)它简单地返回零。
我的测试方案具有调试的构建配置,因此在我的 API 契约(Contract)测试中,我检查创建一个带有一些参数为 nil 的对象是否会返回一个 nil 对象。但是构造函数的断言在 XCTAssertNil
执行之前提出,所以我的测试总是失败。
我可以在测试时禁用断言吗?我尝试将 NS_BLOCK_ASSERTIONS
添加到启动时传递的方案参数中,但这不起作用。
最佳答案
已解决,我添加了一个新配置,从 Debug 复制,称为 Test
。
然后在build设置预处理器宏中添加 NS_BLOCK_ASSERTIONS=1
。
最后,更改测试方案中的测试 Action 。
现在可以了:)
关于ios - 测试时禁用断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30080466/