从ios-sim启动单元测试不会执行所有测试

时间:2014-12-22 08:19:46

标签: ios objective-c unit-testing ios-simulator xctest

我尝试使用ios-sim使用此处描述的方法从我的CI启动测试:https://confluence.atlassian.com/display/BAMBOO/Xcode,而不是SenTest我在XCTest使用--args -SenTest All 我的应用程序,所以最后一个参数不应该是

-args -XCTest All

但是类似

--args -XCTest -test All 

如果我使用这样的参数,则不会执行所有测试。如何使用XCtest指定执行所有测试?如果我使用

ios-sim launch Target.app --devicetypeid 'com.apple.CoreSimulator.SimDeviceType.iPhone-5s, 8.1' --setenv DYLD_INSERT_LIBRARIES="/../../Library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection" --setenv XCInjectBundle="UnitTests.xctest" --setenv XCInjectBundleInto="Target.app/Target" --args -XCTest All "UnitTests.xctest"

没有执行任何测试。完整的启动命令:

{{1}}

1 个答案:

答案 0 :(得分:1)

2分:

首先,这可能是失败的原因是因为你的DYLD_INSERT_LIBRARIES错了。你应该使用“../../Library/PrivateFrameworks/IDEBund leInjection.framework / IDEBundleInjection“而不是”/../../Library/PrivateFrameworks/IDEBund leInjection.framework / IDEBundleInjection“

其次,从Xcode 6开始,支持的做法是使用simctl:

SIMCTL_CHILD_DYLD_INSERT_LIBRARIES="../../Library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection"
SIMCTL_CHILD_XCInjectBundleInto="Target.app/Target"
SIMCTL_CHILD_XCInjectBundle="UnitTests.xctest"
xcrun simctl launch [device udid or "booted"] com.mycompany.myapp -XCTest All "UnitTests.xctest"