すべてのテスト後にシミュレータをリセットしようとしています。私は、それを行うための最善の方法を発見したSwift:シェルコマンドを実行してシミュレータをリセットする方法
xcrun simctl erase all
を実行することですが、私はそれを実行するために迅速なファイルにシェルコマンドを追加する方法がわからない 。
私はuが 助けてくださいを見つけていない識別子を\プロセス、
import Foundation
func shell(_ args: String...) -> Int32 {
let task = Process()
task.launchPath = "/usr/bin/env"
task.arguments = args
task.launch()
task.waitUntilExit()
return task.terminationStatus
}
を試みたが、エラーが発生しました。 各テスト後にシミュレータをリセットしようとしています。
特定のアプリケーションをシミュレータからコマンドラインからアンインストールできますか?またはtearDown()内の各テストの間に他の方法を使用してください。
これは良い提案ですが、その回避策です。私は最初にシェルコマンドでそれをやろうとしますが、すべてが失敗したら、新しいフレームワークを探検してください。 – Vinayaka
テストを実行しているホストから特定のシェルコマンドを実行する必要がある場合は、SBTUItestTunnelに沿って開発した別のツールである[SBTUITestTunnelHost](https://github.com/Subito-it/SBTUITestTunnelHost)を検討してください。 UIテストターゲットから任意のシェルコマンドを実行できます。 –
テストにプレビルドステップを追加しました。 Edit Schemeに移動し、テストの横にある三角形をクリックして、+事前ビルドステップを追加します。 - > xcrun simctl uninstall booted com.XYZ.client.main – Vinayaka