OStack程序员社区-中国程序员成长平台

标题: ios - 从 ios-sim 启动单元测试不会执行所有测试 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 04:09
标题: ios - 从 ios-sim 启动单元测试不会执行所有测试

我正在尝试使用 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"



Best Answer-推荐答案


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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4