Swift XCTest 失败,因为找不到 plist 文件

pat*_*ckS 3 ios xctest swift

我目前正在 Swift 中构建一个 iOS 框架项目。我还有一个自己的测试构建目标。我还在测试构建目标中添加了一个新的 TestSettings.plist 文件。我在那里存储 api 调用的用户名/密码。但是 XCTest 现在总是失败,因为它无法加载 plist 文件。

我已经检查过 plist 文件在 .xctest 文件夹/包中

我尝试使用以下代码加载 plist 文件:

if let path = NSBundle.mainBundle().pathForResource("TestSettings", ofType: "plist") {
            settingsDictionary = NSDictionary(contentsOfFile: path)
} else {
            XCTFail("API: getAuthToken no TestSettings.plist file found")
}
Run Code Online (Sandbox Code Playgroud)

任何想法我做错了什么,或者有没有其他方法可以不将用户名/密码放入测试用例中?

pat*_*ckS 5

我发现了问题,无法访问 XCTest 中的 mainBundle。我不得不使用以下代码来修复它:

let path = NSBundle(forClass: self.dynamicType).pathForResource("TestSettings", ofType: "plist")
Run Code Online (Sandbox Code Playgroud)