gpt4 book ai didi

swift - 如何检查 XCTestCase 测试是否失败

转载 作者:行者123 更新时间:2023-11-28 06:45:17 25 4
gpt4 key购买 nike

是否可以检查正在运行的测试是否有任何 XCTAssert 失败?我有一个包含连续几个断言的测试,我想在之后添加一些代码以在其中任何一个失败时执行特定操作:

class testClass : XCTestCase
{
func testSomething()
{
let someComputedValue1 = func1()
let someComputedValue2 = func2()

XCTAssertLessThanOrEqual(someComputedValue1, 0.5)
XCTAssertLessThanOrEqual(someComputedValue2, 0.2)

if anyOfTheAboveAssertionsFailed {
performAction()
}
}
}

我想要提示的部分是 anyOfTheAboveAssertionsFailed 条件,而不复制与硬编码值的比较。

最佳答案

虽然使用您自己的断言方法可以解决 PO 的问题,但如果您需要使用多个 XCAssert 方法,那就很麻烦了。

另一种方法是覆盖 continueAfterFailure。如果没有失败,则不会请求该属性。如果有,它就会。

class MyTest: XCTest {
private var hasFailed = false
override var continueAfterFailure: Bool {
get {
hasFailed = true
return super.continueAfterFailure
}
set {
super.continueAfterFailure = newValue
}
}
override func tearDown() {
if hasFailed { performAction() }
hasFailed = false
}
}

关于swift - 如何检查 XCTestCase 测试是否失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36659366/

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