如何在不点击“运行”按钮的情况下启动 GHUnit 测试?

发布于 2024-10-30 07:02:13 字数 113 浏览 4 评论 0原文

我使用 GHUnit 框架来测试静态库。此时我需要点击“运行”按钮来开始我的测试。但我想在应用程序启动时开始测试,因为我需要 teamcity 启动我的 testApp。那么如何修改标准 UI 并自动启动测试呢?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

森林迷了鹿 2024-11-06 07:02:13

做产品->编辑方案...->参数 ->环境变量,然后将 GHUNIT_AUTORUN 设置为 YES

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

我们的影子 2024-11-06 07:02:13

使您的单元测试目标依赖于您的应用程序,以便您始终在单元测试之前构建应用程序。

然后,只需添加一个“setUp()”方法来启动您的应用程序(并等待它启动),然后再继续。

  1. 检查您的应用程序是否已在运行:

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

  2. 启动您的应用程序(在 setUP() 中)并等待:

    [[NSWorkspace共享工作空间]launchAppWithBundleIdentifier:com.mycompany.myapp选项:NSWorkspaceLaunchWithoutActivationadditionalEventParamDescriptor:NULL launchIdentifier:nil];
    while (![self isRunning]) // 见上文
    {
    睡眠(1);
    [

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);
    }

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文