我现在正在为一段代码编写一个测试,如果静态变量已经被赋值,它应该会抛出异常,如下所示:*** Assertion failure in (reference to row with NSAssert)
所以即使行为正是我想要的,测试还是失败了。也许我不应该以这种方式将NSAssert和STAssertThrows一起使用?
我正在尝试在我的iPhone应用程序中使用NSAssert,以便在发生意外情况时,应用程序会很快失败,并在崩溃日志中显示一条有意义的消息。如果失败的NSAssert在主线程上,这会很好地工作,因为它会在默认情况下引发未被捕获的NSInternalInconsistencyException并停止执行。但我也在后台线程中进行处理,在这种情况下,NSAssert只会中止线程,但编程会继续运行。NSAssert1(x > 20, @"x should be greater than 20, was %d"