如何从你的 iOS 静态库依赖项中运行测试

7
我已经创建了几个静态库,这些库在多个iOS项目中共享。在许多这些静态库中,我创建了单元测试。我希望每当我测试包含静态库的项目时,这些测试都能运行。
我尝试将所有测试包含在主项目方案的“测试”部分中,但通常会导致“模拟器已在使用”错误,测试失败。可能是因为之前的测试正在使用模拟器。

scheme-tests

Skin CreatorTests是主项目的测试。

SEUSUIKitTests、APIKitTests、PurchaseKitTests和MCSkinKitTests都是来自附加静态库的测试。

我这样做对吗?还是应该换一种思路?

** 编辑 **

看起来这个Stack Overflow问题也有相同的问题。

Xcode 5:一个方案中的多个测试目标:“模拟器已在使用中”

** 编辑2 **

Radar: http://openradar.appspot.com/15153136

1个回答

2
尽管在XCode上正确设置单元测试非常麻烦且耗费时间(正如您所发现的那样,由于您得到了非常清晰的消息),但在您的情况下,我认为问题在于您的方法。
如果您有多个静态库链接自多个项目,则不应从引用它们的项目运行静态库的测试。每个库都应是自包含的并打包其自身的测试,并且无论何时您更改特定库中的内容,都应该运行这些测试。
这个想法是您只应该测试自己的代码。如果链接外部静态库,则该库的作者负责正确地进行单元测试。您也是外部库的作者这一事实不应对此产生影响。

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