如何在每次运行单元测试时运行全新安装的应用程序?

Shi*_*zam 15 xcode unit-testing ios xctest

我设置了一些XCTest我的应用程序的单元测试,并希望每次运行测试时间为它在新安装的应用程序的运行品牌.目前,当我运行后续测试时,它会在之前运行的同一个应用程序中运行测试,之前的测试已经更改了很多状态信息.

有没有办法表明,当你运行单元测试时,它应该在你的应用程序的新版本上运行测试?

rin*_*aro 25

也许这有效,但仅适用于模拟器.

Product> Scheme>Edit Scheme...

在此输入图像描述

xcrun simctl是用于控制iOS模拟器的命令行实用程序.这会在运行测试之前com.yourcompany.AppName引导的模拟器中卸载应用程序.

我不知道如何做这样的真实设备:(

  • 有没有办法在每次测试之前完成这项工作? (3认同)

Koe*_*en. 5

除了@ rintaro的答案之外,如果您将"提供构建设置"添加到您的应用程序,您可以添加一个通用命令,当您的包ID更改时,该命令将继续工作:

xcrun simctl uninstall booted ${PRODUCT_BUNDLE_IDENTIFIER}
Run Code Online (Sandbox Code Playgroud)