使用Travis进行Swift CI测试-在开始执行测试之前退出测试运行程序

时间:2018-12-09 12:24:49

标签: ios swift xcode continuous-integration travis-ci

我最近开始实现Travis,但无法使其正常运行。 当我在本地运行测试时,它们会成功。

有人可以帮我如何使其正常工作吗?

.travis.yml

language: swift
osx_image: xcode10.1
script:
  - xcodebuild -scheme sample -workspace sample.xcodeproj -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 7,OS=10.1' build test

sampleTest

class sampleTests: XCTestCase {

    func testThis() {
        XCTAssertTrue(true)
    }
}

错误:

2018-12-09 12:12:27.188 xcodebuild[2161:5999] [MT] IDETestOperationsObserverDebug: 111.527 elapsed -- Testing started completed.
2018-12-09 12:12:27.188 xcodebuild[2161:5999] [MT] IDETestOperationsObserverDebug: 0.000 sec, +0.000 sec -- start
2018-12-09 12:12:27.189 xcodebuild[2161:5999] [MT] IDETestOperationsObserverDebug: 111.527 sec, +111.527 sec -- end
2018-12-09 12:12:27.190 xcodebuild[2161:5999] Error Domain=IDETestOperationsObserverErrorDomain Code=6 "Early unexpected exit, operation never finished bootstrapping - no restart will be attempted" UserInfo={NSLocalizedDescription=Early unexpected exit, operation never finished bootstrapping - no restart will be attempted, NSUnderlyingError=0x7f981ebb72f0 {Error Domain=IDETestOperationsObserverErrorDomain Code=5 "Test runner exited before starting test execution." UserInfo={NSLocalizedDescription=Test runner exited before starting test execution., NSLocalizedRecoverySuggestion=If you believe this error represents a bug, please attach the result bundle at /Users/travis/Library/Developer/Xcode/DerivedData/sample-dxurjdnpbvvpbicqtjbvdmsoceyy/Logs/Test/Test-sample-2018.12.09_12-10-05-+0000.xcresult}}}
Testing failed:
    sample.app (2474) encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted. (Underlying error: Test runner exited before starting test execution.))
** TEST FAILED **
The command "xcodebuild -scheme sample -destination 'platform=iOS Simulator,name=iPhone 7,OS=10.1' test" exited with 65.
Done. Your build exited with 1.

1 个答案:

答案 0 :(得分:1)

Xcode 10中引入的新构建系统的UI测试存在一些问题。您应该添加-UseModernBuildSystem=NO

我正在使用的完整脚本是:

- xcodebuild -workspace sample.xcworkspace -scheme sample -sdk iphonesimulator12.1 -destination "platform=iOS Simulator,OS=12.1,name=iPhone Xs Max" -UseModernBuildSystem=NO test | xcpretty --test --color; test ${PIPESTATUS[0]} -eq 0

请注意,我还使用xcpretty,并带有一些参数来确保日志不会太长。最后一部分是确保在测试失败的情况下构建失败。

希望有帮助!