在UITesting中,是否可以从Info.plist
文件夹中读取UITests
文件夹中的文件?如果是这样,怎么样。
到目前为止,我已经尝试过了:
if let url = Bundle.main.url(forResource: "Info", withExtension: "plist"),
let myDict = NSDictionary(contentsOf: url) as? [String:Any] {
print(myDict)
}
虽然,这会返回一些plist
,这不是我在主项目文件夹中的事件。
答案 0 :(得分:6)
您的测试类有一个特殊的包,您需要阅读(或注入)。试试吧。将以下OSTests
调用中的Bundle(for:)
替换为您的XCTestCase子类的名称。
func testExample() {
let testBundle = Bundle(for: OSTests.self)
if let url = testBundle.url(forResource: "Info", withExtension: "plist"),
let myDict = NSDictionary(contentsOf: url) as? [String:Any] {
print(myDict)
}
}
然后,您需要确保将测试包复制到测试应用程序中。选择您的测试目标。在Build Phases选项卡中公开Copy Bundle Resources部分。单击+图标并选择测试目标的Info.plist文件。