スタティック ライブラリのテストには GHUnit フレームワークを使用します。この時点で、Run ボタンをタップしてテストを開始する必要があります。しかし、teamcity が testApp を起動する必要があるため、アプリケーションの起動時にテストを開始したいと思います。では、標準 UI を変更してテストを自動で開始するにはどうすればよいでしょうか?
2 に答える
Product -> Edit Scheme… -> Arguments -> Environment Variables を実行し、 に設定GHUNIT_AUTORUN
しYES
ます。
単体テストのターゲットをアプリケーションに依存させて、単体テストの前に常にアプリケーションをビルドするようにします。
次に、アプリを起動するための「setUp()」メソッドを追加して (アプリが起動されるのを待ってから) 続行します。
アプリケーションがすでに実行されていることを確認します。
NSArray* apps = [[NSWorkspace sharedWorkspace] valueForKeyPath:@"launchedApplications.NSApplicationBundleIdentifier"]; BOOL myAppIsRunning = [apps containsObject: com.mycompany.myapp];
アプリケーションを (setUP() で) 起動し、待機します。
[[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier: com.mycompany.myapp オプション: NSWorkspaceLaunchWithoutActivation additionalEventParamDescriptor: NULL launchIdentifier: nil]; while (![self isRunning]) // 上記を参照 { sleep(1); }