我该如何为Swift设置单元测试?

5
我认为尝试掌握单元测试/Swift是明智的选择。我查看了WWDC的Objective-C版本,对Objective-C范例有了很好的理解:导入Unit Test所依赖的头文件等等。 'fetchFlickrPhotoWithSearch()'在Unit Test中不被识别。因此... 由于Unit Test模块/目标超出应用程序目标范围,我认为我需要导入特定的Swift文件(类似于Objective-C的头文件范例),其中包含我想要测试的函数。 但是编译器将此导入标记为“无此模块...” 那么...我如何使我的Swift API在单元测试中可用?
2个回答

8
Steve Rosenberg提出的解决方案很简单,但会导致难以调试的问题(如果您感兴趣,可以在这里查看其实例
推荐的方法是编辑您的应用程序目标(而不是测试目标)构建设置,并将“Defines Module”设置为 YES
完成后,在您的测试目标中,每个Swift文件的顶部导入您项目的主模块,以访问您的类,结构等。主模块的名称通常与您的Xcode项目文件名称相同。 注意:按照此方法操作时,您将需要注释您想要测试的所有class / struct / enum方法的public访问控制修饰符。

0

我注意到默认情况下(或者是偶然的),所需的.swift文件也包含在测试目标中。缺少的是我想要测试的特定函数的PUBLIC限定符。我不需要'#import...'语句。它有效! - Frederick C. Lee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接