Swift 测试在本地通过,但在 Travis 上构建失败-CI
Swift tests pass locally but the build fails on Travis-CI
我正在尝试将我的 cocoapod 项目设置为 运行 它在 Travis 上进行测试-CI 推送后。我正在使用 xctool 0.2.4 来 运行 测试,它在本地执行得很好。但是一旦它 运行s 在 Travis-CI 上,编译构建步骤由于各种原因而失败,我似乎无法在本地重现。
xctool test -project test/MEViewExtensions.xcodeproj -scheme MEViewExtensions -sdk iphonesimulator
这里有两个故障,在我的机器上运行正常:
https://travis-ci.org/materik/meviewextensions/builds/68458750
Basic Block in function '_TFE16MEViewExtensionsCSo8UIScreeng5widthV12CoreGraphics7CGFloat' does not have terminator!
label %entry2
LLVM ERROR: Broken function found, compilation aborted!
https://travis-ci.org/materik/meviewextensions/builds/68465719
/Users/travis/build/materik/meviewextensions/test/MEViewExtensionsTests/UIViewTests.swift:22:33: error: type '@autoclosure () -> CGFloat' does not conform to protocol 'FloatLiteralConvertible'
XCTAssertEqual(view2.x, 10.0)
我至少希望在我的机器上出现相同的错误以便能够对其进行调试。有什么想法吗?
问题是我运行使用更新版本的 Swift 在 Xcode 6.3 上进行测试,而 Travis 测试在 Xcode 上进行 运行 =] 6.1 与具有不同类型错误的旧版本。不得不将 osx_image: beta-xcode6.3
添加到我的 .travis.yml
文件中,以强制 Travis 在更高版本上使用 运行 然后就没问题了。
我正在尝试将我的 cocoapod 项目设置为 运行 它在 Travis 上进行测试-CI 推送后。我正在使用 xctool 0.2.4 来 运行 测试,它在本地执行得很好。但是一旦它 运行s 在 Travis-CI 上,编译构建步骤由于各种原因而失败,我似乎无法在本地重现。
xctool test -project test/MEViewExtensions.xcodeproj -scheme MEViewExtensions -sdk iphonesimulator
这里有两个故障,在我的机器上运行正常:
https://travis-ci.org/materik/meviewextensions/builds/68458750
Basic Block in function '_TFE16MEViewExtensionsCSo8UIScreeng5widthV12CoreGraphics7CGFloat' does not have terminator! label %entry2 LLVM ERROR: Broken function found, compilation aborted!
https://travis-ci.org/materik/meviewextensions/builds/68465719
/Users/travis/build/materik/meviewextensions/test/MEViewExtensionsTests/UIViewTests.swift:22:33: error: type '@autoclosure () -> CGFloat' does not conform to protocol 'FloatLiteralConvertible' XCTAssertEqual(view2.x, 10.0)
我至少希望在我的机器上出现相同的错误以便能够对其进行调试。有什么想法吗?
问题是我运行使用更新版本的 Swift 在 Xcode 6.3 上进行测试,而 Travis 测试在 Xcode 上进行 运行 =] 6.1 与具有不同类型错误的旧版本。不得不将 osx_image: beta-xcode6.3
添加到我的 .travis.yml
文件中,以强制 Travis 在更高版本上使用 运行 然后就没问题了。