Xcode: TEST vs DEBUG preprocessor macros

后端 未结 11 925
余生分开走
余生分开走 2020-11-28 06:24

When creating a new project with unit tests, Xcode sets the build configuration to Debug for the Test scheme (same for the Run scheme).

Should I differentiate betwee

11条回答
  •  生来不讨喜
    2020-11-28 06:36

    Look at environment variables to see if unit tests are running. Similar to Robert's answer but I only check once for performance sake.

    + (BOOL)isRunningTests {
       static BOOL runningTests;
       static dispatch_once_t onceToken;
    
       // Only check once
       dispatch_once(&onceToken, ^{
          NSDictionary* environment = [[NSProcessInfo processInfo] environment];
          NSString* injectBundle = environment[@"XCInjectBundle"];
          NSString* pathExtension = [injectBundle pathExtension];
          runningTests = ([pathExtension isEqualToString:@"octest"] ||
                          [pathExtension isEqualToString:@"xctest"]);
       });
       return runningTests;
    }
    

提交回复
热议问题