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

Mil*_*der 6 xcode continuous-integration ios travis-ci swift

我最近开始实施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
Run Code Online (Sandbox Code Playgroud)

sampleTest

class sampleTests: XCTestCase {

    func testThis() {
        XCTAssertTrue(true)
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:

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.
Run Code Online (Sandbox Code Playgroud)

Pet*_*ert 5

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
Run Code Online (Sandbox Code Playgroud)

请注意,我还使用了 xcpretty,并带有一些参数以确保日志不会变得冗长。最后一部分是确保构建失败,以防测试失败。

希望能帮助到你!