你如何为有前置条件的 Swift 方法编写测试?这是一个例子:
func doublePositive(n:Int) -> Int {
precondition(n >= 0)
return 2*n
}
使用XCTAssertThrowsError
不起作用:
func testDoublePositive() {
XCTAssertEqual(10, testObject.doublePositive(5)) // Works
XCTAssertThrowsError(testObject.doublePositive(-1)) // Breaks
}
这在运行测试时会产生错误:
线程 1:EXEC_BAD_INSTRUCTION(代码=EXCI386_INVOP,子代码=0x0)
有没有办法测试 Swift 的先决条件?