【发布时间】:2015-12-13 16:51:17
【问题描述】:
我正在为我的相机应用程序编写测试用例。
例如,我想在模拟器中运行测试时提供一个模拟对象。我不能像这样使用宏来运行相应的代码:
#if TARGET_OS_SIMULATOR
vc.camera = mockCamera
#endif
有什么更好的方法来做到这一点?
【问题讨论】:
标签: xcode unit-testing ios-simulator xctest
我正在为我的相机应用程序编写测试用例。
例如,我想在模拟器中运行测试时提供一个模拟对象。我不能像这样使用宏来运行相应的代码:
#if TARGET_OS_SIMULATOR
vc.camera = mockCamera
#endif
有什么更好的方法来做到这一点?
【问题讨论】:
标签: xcode unit-testing ios-simulator xctest
您无法通过宏测试应用程序是否正在测试中运行。你可以通过NSProcessInfo在运行时测试它:
[[NSProcessInfo processInfo] environment]["XCInjectBundle"]
【讨论】:
Debug-iphonesimulator 和 Debug-iphoneos
XCInjectBundle才会有值,所以你只需要检查它是否有非nil值。