gpt4 book ai didi

xcode - 使XCTestCase断言失败,而测试无法继续运行,但又不停止其他测试

转载 作者:行者123 更新时间:2023-12-03 12:38:01 28 4
gpt4 key购买 nike

我正在尝试使用XCTest框架测试我的应用程序。

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

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

有解决这个问题的方法吗?

最佳答案

帕斯卡(Pascal)的回答给了我实现正确目标的想法。现在,当断言失败时,XCTool的行为类似于OCUnit:立即终止测试用例的执行,调用tearDown并运行下一个测试用例。

只需在您的基类(继承自XCTestCase类的基类)中重写invokeTest方法:

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

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

而已!

关于xcode - 使XCTestCase断言失败,而测试无法继续运行,但又不停止其他测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20998788/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com