在单元测试中,我想声明一个有可能抛出索引超出范围错误的方法实际上会抛出该错误。
我正在尝试使用
let array = [1,2,3]
XCTAssertThrowsError(array[3])
为什么这不起作用?
我该如何测试?
答案 0 :(得分:3)
let array = [1,2,3] XCTAssertThrowsError(array[3])
为什么这不起作用?
因为引用越界索引不抛出。 崩溃,这是完全不同的事情。
我该如何测试?
如何测试 的内容?如果问题是建议的索引对于给定数组是否合法,请使用indices.contains
:
let array = [1,2,3]
let ix = 3
XCTAssert(array.indices.contains(ix), "Index out of bounds")