How start GHUnit tests without tapping Run button?

455 Views Asked by At

I use GHUnit framework for testing static library. At this moment I need tap the button Run to start my tests. But I would like to start tests when application launched because I need teamcity launch my testApp. So how can I modified standart UI and start tests automatic?

2

There are 2 best solutions below

0
On

Do Product -> Edit Scheme… -> Arguments -> Environment Variables, then set GHUNIT_AUTORUN to YES.

0
On

Make your unit test target dependent on your application, so that you always built the application before the unit tests.

Then, simply add a "setUp()" method to launch your app (and wait for it to be launched) before continuing.

  1. Check that your application is already running:

    NSArray* apps = [[NSWorkspace sharedWorkspace] valueForKeyPath:@"launchedApplications.NSApplicationBundleIdentifier"]; BOOL myAppIsRunning = [apps containsObject: com.mycompany.myapp];

  2. Launch your application (in setUP()) and wait:

    [[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier: com.mycompany.myapp options: NSWorkspaceLaunchWithoutActivation additionalEventParamDescriptor: NULL launchIdentifier: nil]; while (![self isRunning]) // see above { sleep(1); }