如何在Swift中测试索引是否超出范围?

时间:2017-03-02 21:19:29

标签: swift xcode unit-testing xctest

在单元测试中,我想声明一个有可能抛出索引超出范围错误的方法实际上会抛出该错误。

我正在尝试使用

let array = [1,2,3]
XCTAssertThrowsError(array[3])    

为什么这不起作用?

我该如何测试?

1 个答案:

答案 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")