如何在主应用程序目标中使用单元测试用例(作为test_spec添加到开发窗格中)?

Abh*_*729 7 xcode unit-testing ios jenkins cocoapods

可以说我有一个Pod DevelopmentPod

在此pod的podspec中,我添加了一个test_spec,如下所示-

s.test_spec 'UnitTests' do |test_spec|
test_spec.source_files = 'UnitTests/**/*.{h,m,swift}'
test_spec.ios.resources = ['UnitTests/**/*.{json}']
end 
Run Code Online (Sandbox Code Playgroud)

在我的项目的Podfile中,我按如下方式添加了pod:

pod 'DevelopmentPod', :path => '<location>', :testspecs => ['UnitTests']
Run Code Online (Sandbox Code Playgroud)

运行pod install之后,我看到已经创建了一个新的目标DevelopmentPods-Unit-Tests,并使用Manage Schemes中的新方案,我可以轻松地执行测试用例。

为了将该方案集成到Jenkins中,我将需要单独的工作。我有多个开发吊舱,这意味着多个工作。然后还必须合并来自不同作业的测试用例执行数据。我们不能确定地说这些单独的工作测试的代码与实际构建的代码相同。

解决此问题的最佳方法是什么?

我可以轻松地将所有单元测试从不同的Pod移到我的主应用程序,并为它创建一个单元测试目标(这也解决了Jenkins的工作问题),但是我的主应用程序会被很多单元测试代码弄得一团糟要求。我想在Pod本身中保留Pod特定的单元测试。

Pab*_*mez 6

获得目标后,您需要编辑您的方案以使其运行测试!

编辑方案

然后将其设置为测试(通过将其添加到 +)

在测试列表中包含测试

它也会自动添加到构建中

添加测试以构建

大功告成!:D