Xcode 7:无法使用单元测试目标创建Swift命令行工具

哦,Xcode

我受阻了如果我创建一个Mac OS Cocoa应用程序,我可以免费获得一个单元测试目标.但是我想编写一个命令行工具(甚至可以链接一个命令行工具的库),并写一些单元测试.如果我能弄清楚,我会被伤害

我已经足够远,我有一个命令行目标和一个测试目标.我可以“@testable import”我的commnd行模块,并使用测试代码中的代码,Xcode中没有错误.但是,一旦我尝试运行我的测试(Cmd-U),我得到一个链接错误.主模块中的任何类都不能链接.什么?

我已经搞砸了几个小时,而谷歌一直没有帮助. (我使用Xcode 7,Xcode 6看起来有很大的不同)任何人都可以帮我吗?

谢谢.

解决方法

到目前为止,我发现这个问题的唯一解决方案是手动将包含要测试的代码的所有文件手动添加到单元测试目标:

这是测试应用程序目标时不会做的事情.我认为命令行目标不能被选择为单元测试目标的测试主机的事实可能与此问题有关:

您可能需要更多工作的另一个选项是将所有逻辑定义到框架中,并将命令行应用程序作为其提供的API的消费者编写.

这样,您可以轻松地以通常的方式对框架进行单元测试,然后以调用它并声明结果的脚本的形式为命令行应用程序编写集成测试.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...