我想添加虚拟对象以在项目中进行测试,但我不希望它们包含在我的最终构建中。所以我有我的AppDelegate
课和进口:
#ifdef TESTING
#import "DummyBeaconLocationManager.h"
#else
#import "BeaconLocationManager.h"
#endif
然后:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
#ifdef TESTING
[[DummyBeaconLocationManager sharedInstance] startRanging];
#else
self.beaconLocationManager = [BeaconLocationManager sharedInstance];
[self.beaconLocationManager startRanging];
#endif
return YES;
}
但问题是我必须将它包含在我的Target Membership
,而不是我的测试目标中。有没有办法不将这些文件包含在我的主要目标中,而只包含在Test
目标中?
编辑:需要做的是在启动后测试我的应用程序。我想在模拟器上测试它,但应用程序使用信标。所以我创建了代表信标和模拟位置管理器的虚拟对象。当应用程序以 TESTING 选项启动时,它不会开始测距信标,而是将虚拟对象作为信标。