XCTAssertEqual 失败:("nan") 不等于 Swift 中的 ("nan")
XCTAssertEqual failed: ("nan") is not equal to ("nan") in Swift
当我 运行 以下测试用例时,我得到 XCTAssertEqual failed: ("nan") is not equal to ("nan")
错误。
XCTAssertEqual(0.0 / 0.0, Double.nan)
我该如何解决这个错误?
正如 Joakim 所说,NaN
永远不等于任何值,包括它自己。
您需要使用 isNaN
:
重写您的代码
let someValue = 0.0 / 0.0
XCTAssertFalse(someValue.isNaN) // Will detect that someValue is a NaN
当我 运行 以下测试用例时,我得到 XCTAssertEqual failed: ("nan") is not equal to ("nan")
错误。
XCTAssertEqual(0.0 / 0.0, Double.nan)
我该如何解决这个错误?
正如 Joakim 所说,NaN
永远不等于任何值,包括它自己。
您需要使用 isNaN
:
let someValue = 0.0 / 0.0
XCTAssertFalse(someValue.isNaN) // Will detect that someValue is a NaN