XCTAssertNotNil 在 Swift 2 中什么都不做
XCTAssertNotNil does nothing in Swift 2
在我新创建的 Xcode 7.3.1 项目中,我有一个如下所示的测试用例:
func testDatePicker_configuredCorrectly() {
if vc.datePicker == nil {
print("Date picker is nil")
}
XCTAssertNotNil(vc.datePicker, "Date picker must be linked")
}
当我 运行 我的测试时,我清楚地看到控制台说 "Date picker is nil" 但断言没有触发。 picker就是一个普通的outlet:
final class UsageViewController: NSViewController {
@IBOutlet weak var datePicker: NSDatePicker!
}
为什么 not nil 的断言被忽略了?
XCTAssertNotNil
的最小示例适用于我:
尝试在测试代码中加断点,只运行这一次测试
您的测试似乎存在竞争条件,因为它取决于 vc
的状态,该状态在此测试范围之外进行管理。您可以按照您的说明强制加载视图,也可以设置谓词期望。
在我新创建的 Xcode 7.3.1 项目中,我有一个如下所示的测试用例:
func testDatePicker_configuredCorrectly() {
if vc.datePicker == nil {
print("Date picker is nil")
}
XCTAssertNotNil(vc.datePicker, "Date picker must be linked")
}
当我 运行 我的测试时,我清楚地看到控制台说 "Date picker is nil" 但断言没有触发。 picker就是一个普通的outlet:
final class UsageViewController: NSViewController {
@IBOutlet weak var datePicker: NSDatePicker!
}
为什么 not nil 的断言被忽略了?
XCTAssertNotNil
的最小示例适用于我:
尝试在测试代码中加断点,只运行这一次测试
您的测试似乎存在竞争条件,因为它取决于 vc
的状态,该状态在此测试范围之外进行管理。您可以按照您的说明强制加载视图,也可以设置谓词期望。