Swift - 获取测试目标的NSBundle?

问题描述:

在Objective C中,每当我访问测试包我会打电话Swift - 获取测试目标的NSBundle?

[NSBundle bundleForClass:[ClassInTestTarget class]]; 

bundleForClass不斯威夫特用,所以我怎么访问测试包?

我需要这个的原因是,为了编写我正在研究的框架的测试,我必须使用内存核心数据堆栈。最初,所有的资源都包含在这两个主要目标和测试目标,但后来我感动了所有这些测试帮助者只测试目标,现在下面的代码返回nil它失败了所有的考试

let modelURL = NSBundle.mainBundle().URLForResource("Model", withExtension: "momd") 

对应的银行代码是

// Swift 3 and later: 
Bundle(for: ClassInTestTarget.self) 

// Swift 1, 2: 
NSBundle(forClass: ClassInTestTarget.self) 

ClassInTestTarget.self收益类对象为 “ClassInTestTarget” 级。

+0

这工作:http://stackoverflow.com/questions/24403718/swift-equivalent-objective-c-runtime-class – 2015-06-30 22:38:14

+0

我有这个工作在一些类,但在其他人,它返回捆绑'/应用程序/ Xcode .app /目录/ Developer/usr/bin'路径。任何想法为什么/如何解决它? – 2016-06-27 21:28:22

+0

具体 - 只发生在泛型类... – 2016-06-27 21:44:41