如何为Swift设置单元测试?

Fre*_*Lee 5 unit-testing swift

我觉得尝试掌握Unit Testing/Swift是明智的.
我查看了WWDC的Objective-C版本,并且非常了解Objective-C范例:导入单元测试依赖的头文件等.

单元测试不知道'fetchFlickrPhotoWithSearch()'.所以...

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

但编译器将此导入标记为"No such module ..."

那么......如何使我的Swift API 用于单元测试?

在此输入图像描述

Pas*_*tne 8

Steve Rosenberg推荐的解决方案很简单,但会导致难以调试的问题(如果您感兴趣,可以在此处记录其中的一个实例).

建议的方法是编辑应用程序目标(而不是测试目标)Build Settings并将Packaging下的"Defines Module"设置为YES.

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

注意:遵循此方法时,您必须使用公共访问控制修饰符注释要测试的所有类/结构/枚举方法.


Ste*_*erg 0

这里有一句很好的话:

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

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