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

标签 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

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

--args -XCTest -test All 

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

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"

最佳答案

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"

关于ios - 从 ios-sim 启动单元测试不会执行所有测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27598931/

相关文章:

iphone - UIView背景图像按比例调整大小

objective-c - 使用 NSString 显示数组内容

ios - 平移后单元格停止响应选择

java - 如何为 wicket DownloadLink 编写单元测试?

python - 使用nosetests 特别命名的目录

c# - Moq 和 Equals() 的组合使 MS 测试框架崩溃

ios - 推送通知不是来自解析云代码

ios - 以编程方式在swift 3中使电话崩溃

ios - 如何查看iOS版本是iOS 6?

objective-c - 确定 UIViewController 子类的实例是否存在