跳过 Xcode 中的多项测试
Skip multi tests in Xcode
我正在我的 Swift 应用程序中编写单元测试。
我有一些测试想跳过,使用标志 shouldSkip
,比如 -
if shouldSkip {
throw XCTSkip()
}
问题是——
我不希望所有的测试都必须一遍又一遍地写这一行+所有跳过的测试都需要标记为“已跳过”(灰色箭头,不通过或失败)。
所以我考虑覆盖 invokeTest
或使用 setup
在 true
中的标志时跳过所有测试,例如 -
override func setUp() {
if shouldSkip {
throw XCTSkip()
}
super.setUp()
}
但我无法将测试标记为已跳过(仅通过或失败)
关于如何跳过(并标记为已跳过)大量测试(是否在同一文件中)有什么想法吗?
我知道测试计划和方案,但我需要测试 运行 并被跳过以反对不 运行 测试。
您需要抛出 XCTSkip
,因为它是一个 Error
,简单地创建它对您的测试结果没有影响。
或者您可以使用 XCTSkipIf
函数,在满足传入条件的情况下跳过测试。
所以在你想跳过的测试中,只需调用XCTSkipIf(shouldSkip)
。或者如果你想避免在所有测试中都写它,你可以在 setUpWithError
中完成,这是 setup
.
的抛出变体
而不是 if shouldSkip { XCTSkip() }
,正确的方法是 XCTSkipIf(shouldSkip)
或 if shouldSkip { throw XCTSkip() }
。
使用这 2 种解决方案中的一种将正确地将测试标记为已跳过。
有关详细信息,请参阅 Methods for Skipping Tests 文档页面。
我正在我的 Swift 应用程序中编写单元测试。
我有一些测试想跳过,使用标志 shouldSkip
,比如 -
if shouldSkip {
throw XCTSkip()
}
问题是—— 我不希望所有的测试都必须一遍又一遍地写这一行+所有跳过的测试都需要标记为“已跳过”(灰色箭头,不通过或失败)。
所以我考虑覆盖 invokeTest
或使用 setup
在 true
中的标志时跳过所有测试,例如 -
override func setUp() {
if shouldSkip {
throw XCTSkip()
}
super.setUp()
}
但我无法将测试标记为已跳过(仅通过或失败)
关于如何跳过(并标记为已跳过)大量测试(是否在同一文件中)有什么想法吗?
我知道测试计划和方案,但我需要测试 运行 并被跳过以反对不 运行 测试。
您需要抛出 XCTSkip
,因为它是一个 Error
,简单地创建它对您的测试结果没有影响。
或者您可以使用 XCTSkipIf
函数,在满足传入条件的情况下跳过测试。
所以在你想跳过的测试中,只需调用XCTSkipIf(shouldSkip)
。或者如果你想避免在所有测试中都写它,你可以在 setUpWithError
中完成,这是 setup
.
而不是 if shouldSkip { XCTSkip() }
,正确的方法是 XCTSkipIf(shouldSkip)
或 if shouldSkip { throw XCTSkip() }
。
使用这 2 种解决方案中的一种将正确地将测试标记为已跳过。
有关详细信息,请参阅 Methods for Skipping Tests 文档页面。