我为我的应用程序设置了一些XCTest
单元测试,并希望每次运行测试时都要在全新的应用程序中运行。目前,当我运行后续测试时,它会在之前运行的同一个应用程序中运行测试,之前的测试已经更改了很多状态信息。
有没有办法表明在运行单元测试时它应该在应用程序的新版本上运行测试?
答案 0 :(得分:25)
也许这有效,但仅适用于模拟器。
在Product
> Scheme
> Edit Scheme...
xcrun simctl
是用于控制iOS模拟器的命令行实用程序。
这会在运行测试之前从启动模拟器中卸载com.yourcompany.AppName
应用程序。
我不知道如何为真实设备做这样的事情:(
答案 1 :(得分:5)
除了@ rintaro的回答之外,如果您将"提供设置从" 添加到您的应用中,您可以添加一个通用命令,该命令将继续有效当您的包ID更改时:
xcrun simctl uninstall booted ${PRODUCT_BUNDLE_IDENTIFIER}