在Objective C中,每当我必须访问测试包时,我都会调用它
[NSBundle bundleForClass:[ClassInTestTarget class]];
Run Code Online (Sandbox Code Playgroud)
bundleForClass 在Swift中不可用,那么如何访问测试包呢?
我需要这个的原因是,为了编写我正在研究的框架的测试,我必须使用内存核心数据堆栈.最初所有资源都包含在主目标和测试目标中,但之后我将所有这些测试帮助程序仅移动到测试目标,现在下面的代码返回nil,这导致我的所有测试失败
let modelURL = NSBundle.mainBundle().URLForResource("Model", withExtension: "momd")
Run Code Online (Sandbox Code Playgroud)
Mar*_*n R 45
相应的Swift代码是
// Swift 3 and later:
Bundle(for: ClassInTestTarget.self)
// Swift 1, 2:
NSBundle(forClass: ClassInTestTarget.self)
Run Code Online (Sandbox Code Playgroud)
ClassInTestTarget.self 返回"ClassInTestTarget"类的类对象.
| 归档时间: |
|
| 查看次数: |
10127 次 |
| 最近记录: |