单元测试中的Swift集合

时间:2014-11-05 00:03:19

标签: unit-testing swift

我是swift的新手,我不理解隐式类型转换,我在单元测试中有这个:

let protocols: AnyObject? = NSBundle.mainBundle().infoDictionary?["UISupportedExternalAccessoryProtocols"];

我需要测试protocols存在,是一个数组并包含“foo”和“bar”。

1 个答案:

答案 0 :(得分:0)

我提出了这个解决方案:

let protocols: AnyObject? = NSBundle.mainBundle().infoDictionary?["UISupportedExternalAccessoryProtocols"];
if let p = protocols as? [String] {
    XCTAssertTrue(contains(p, "foo"));
    XCTAssertTrue(contains(p, "bar"));
} else {
    XCTFail("UISupportedExternalAccessoryProtocols must be an array");
}

有没有更好的方法来处理它?<​​/ p>