xcode – 使用断言失败XCTestCase,而测试继续运行,但不停止其他测试

前端之家收集整理的这篇文章主要介绍了xcode – 使用断言失败XCTestCase,而测试继续运行,但不停止其他测试前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用XCTest框架测试我的应用程序.

如果某些逻辑条件成立(使用断言),我希望我的单个测试用例失败.
我不想让测试用例中的其余代码运行,因为这可能会导致问题(例如访问空指针)
我还希望测试用例的其余部分正常运行,只是失败的测试被标记为失败.

我注意到XCTestCase有一个名为continueAfterFailure的属性.
但是,将其设置为YES会导致失败的测试在断言之后继续执行,并将其设置为NO导致其余的测试根本不运行.

有没有解决这个问题?
谢谢,
约阿夫

解决方法

帕斯卡的答案给了我这个想法,以达到这个正确.当断言失败时,XCTool的行为就像OCUnit:测试用例的执行立即被中止,tearDown被调用,并且运行下一个测试用例.

简单地覆盖你的基类(从XCTestCase类继承的)中的invokeTest方法

- (void)invokeTest
{
    self.continueAfterFailure = NO;

    @try
    {
        [super invokeTest];
    }
    @finally
    {
        self.continueAfterFailure = YES;
    }
}

而已!

原文链接:https://www.f2er.com/iOS/329199.html

猜你在找的iOS相关文章