xcode – XCTAssertTrue不会停止例行程序

前端之家收集整理的这篇文章主要介绍了xcode – XCTAssertTrue不会停止例行程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在失败的断言时,Xcode不会终止测试例程.它是否正确?
我无法理解这背后的原因,我希望它表现得像assert并让它终止程序.
通过以下测试,它将打印“仍在运行”.
这是有意的吗?
- (void)testTest
{
    XCTAssertTrue(false,@"boo");
    NSLog(@"still running");
}

我不知道这有什么用,因为当前提条件不满足时,后续代码会崩溃:

- (void)testTwoVectors
{
    XCTAssertTrue(vec1.size() == vec2.size(),@"vector size mismatch");

    for (int i=0; i<vec1.size(); i++) {
        XCTAssertTrue(vec1[i] == vec2[i]);
    }
}

解决方法

您可以更改XCTAssert< XX>的此行为.
在setup方法中,将self.continueAfterFailure更改为NO.

IMO在测试断言失败后停止测试是更好的行为(防止崩溃导致不运行其他重要测试).如果测试需要在失败后继续,这意味着测试用例只需要很长时间就可以拆分.

猜你在找的iOS相关文章