我试图将Swift中的新测试添加到目前用Objective C编写的现有KIF测试包中。
设置:
我已经设置了Swift桥接标头,导入了KIF以及我项目的其他相关部分,以便将这些部分提供给Swift。
我将事情简化为一个简单的测试用例,在此阶段甚至不使用KIF:
import Foundation
class MyFirstTest : KIFTestCase {
func testOne() {
NSLog("Done")
}
}
测试包构建正常,但是当我运行时,我得到:
2015-07-03 14:52:32.620 MyApp [1104:204793]加载/private/var/mobile/Containers/Data/Application/F20A664E-BD2D-4299-A93F-4C6758CBAF34/tmp/MyApp_UI_Tests.xctest/时出错MyApp_UI_Tests:dlopen(/private/var/mobile/Containers/Data/Application/F20A664E-BD2D-4299-A93F-4C6758CBAF34/tmp/MyApp_UI_Tests.xctest/MyApp_UI_Tests,262):未加载库:@ rpath / libswiftXCTest。 dylib
引用自:/private/var/mobile/Containers/Data/Application/F20A664E-BD2D-4299-A93F-4C6758CBAF34/tmp/MyApp_UI_Tests.xctest/MyApp_UI_Tests
原因:未找到图片 DevToolsBundleInjection:加载包' /private/var/mobile/Containers/Data/Application/F20A664E-BD2D-4299-A93F-4C6758CBAF34/tmp/MyApp_UI_Tests.xctest'
时出错
我尝试了here的建议,包括:
我也尝试过:
我也看到过这可能与代码签名身份相关的建议,但捆绑包无法在具有开发标识的模拟器上以及在真实设备上加载。
如果我回到仅使用Objective C测试,一切正常。
我错过了什么?
答案 0 :(得分:10)
终于明白了。对我来说,解决方案是确保测试包目标的运行路径设置包括 @ loader_path / Frameworks 以及@ executable_path / Frameworks。
一旦我补充说,一切都很好。