使用相同的测试测试两个目标

时间:2016-06-08 08:50:35

标签: ios xcode swift unit-testing xctest

我有一个包含3个目标的项目:

  1. 应用目标
  2. 单元测试目标(主机应用>> 1。)
  3. UI测试目标(目标应用>> 1。)
  4. 现在,我为不同的品牌添加了一个新的应用目标(略有变化):

    1. 应用目标
    2. 新应用(新品牌)
    3. 单元测试目标(主机应用>> 1。)
    4. UI测试目标(目标应用>> 1。)
    5. 我意识到单元和UI测试具有特定的目标应用程序。对于新的应用程序,90%的测试将是相同的。有没有办法设置测试目标运行两次,每个我的应用程序/品牌一次? (也许使用外部工具?)

2 个答案:

答案 0 :(得分:0)

要针对不同的应用程序运行两次测试(或任何测试子集),您将需要两个方案,并且需要单独调用它们。

如果您希望这是一个单一操作流程,请为每个目标应用创建一个方案,并选择要运行的正确测试,然后创建一个shell脚本,一个接一个地运行这两个方案的测试。然后,您可以运行脚本以针对这两个应用程序运行测试。

要简化xcodebuild命令,您可以使用Scan,并自动执行此过程,您可以使用Jenkins定期运行脚本,或者使用触发器新提交被推送到您的存储库。

Scan可以很好地使用多种方案 - 将它们添加到Scanfile中,然后让shell脚本按顺序运行它们。在Ruby中:

`scan --scheme "SchemeOne"`
`scan --scheme "SchemeTwo"`

答案 1 :(得分:0)

一段时间后,我发现我需要的是不同的目标。

这些是我现在的目标:

  1. 应用目标
  2. 新应用(新品牌)
  3. 单元测试目标(主机应用>> 1。)
  4. UI测试目标(目标应用>> 1。)
  5. 单元测试目标(主机应用>> 2。)
  6. UI测试目标(目标应用>> 2。)