如何为Swift设置单元测试?

时间:2014-09-30 18:58:42

标签: unit-testing swift

我觉得尝试掌握Unit Testing / Swift是谨慎的。
我查看了WWDC的Objective-C版本,并且非常了解Objective-C范例:导入单元测试所依赖的标题等。

&f; fetchFlickrPhotoWithSearch()'单元测试不知道。所以...

由于单元测试模块/目标超出了应用程序目标的范围,我假设我需要导入具有我想要测试的函数的特定Swift文件(类似于Objective-C' s标题范例)。

但编译器将此导入标记为“没有这样的模块......”#39;

那么......如何让我的Swift API 可用进行单元测试?

enter image description here

2 个答案:

答案 0 :(得分:8)

Steve Rosenberg推荐的解决方案很简单,但会导致难以调试的问题(如果您有兴趣,可以记录here的实例)。

建议的方法是编辑您的应用目标(不是测试目标)构建设置,并将包装下的“定义模块”设置为

完成后,在测试目标中,在每个.swift文件的顶部,导入项目主模块以访问您的类,结构等。主模块的名称通常与您的名称相同Xcode项目文件。

注意:遵循此方法时,您必须使用公共访问控制修饰符注释要测试的所有class / struct / enum方法。

答案 1 :(得分:0)

这里有一个很好的啧啧:

http://natashatherobot.com/swift-unit-testing-tips-and-tricks/

确保要测试的类文件在实用程序面板的文件身份检查器中检查了测试的目标成员身份。这第一次抓住了我。