【发布时间】:2017-07-22 19:31:51
【问题描述】:
在单元测试中,我想断言有可能引发索引超出范围错误的方法实际上会引发该错误。
我正在尝试使用
let array = [1,2,3]
XCTAssertThrowsError(array[3])
为什么这不起作用?
我该如何测试?
【问题讨论】:
-
不确定,但我认为它适用于 errorHandling 以及符合
Error的对象,而不是像这样的实际错误。 -
它不起作用,因为它不是抛出错误,而是它是一个异常,这是完全不同的事情。
-
还有这个问题stackoverflow.com/questions/32873212/… 有一些单元测试方法
fatalError() -
@Rob 这就是我们应该做的测试吗?!这就像测试 Swift 语言的异常是否正常工作......
-
@Honey - 不,您不会编写单元测试来测试 Swift 中的异常/故障/崩溃。如果您要处理特定的错误情况,请编写应用程序代码以防止崩溃的方式优雅地处理它,然后对其进行测试。
标签: swift xcode unit-testing xctest