I use GHUnit framework for testing static library. At this moment I need tap the button Run to star开发者_开发问答t 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?
Do Product -> Edit Scheme… -> Arguments -> Environment Variables, then set GHUNIT_AUTORUN
to YES
.
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.
Check that your application is already running:
NSArray* apps = [[NSWorkspace sharedWorkspace] valueForKeyPath:@"launchedApplications.NSApplicationBundleIdentifier"]; BOOL myAppIsRunning = [apps containsObject: com.mycompany.myapp];
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); }
精彩评论