如何从命令行为一个swift应用程序运行XCTest?

前端之家收集整理的这篇文章主要介绍了如何从命令行为一个swift应用程序运行XCTest?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用XCTest从命令行测试驱动器的一些Swift示例,如果可能的话。
import XCTest

class LeapTest : XCTestCase {

    func testVanillaLeapYear() {
      let year = Year(calendarYear: 1996)
      XCTAssertTrue(year.isLeapYear);
    }
}

我想从命令行运行它。

我已经设置Xcode使用开发工具在测试版:

sudo xcode-select -s /Applications/Xcode6-Beta.app/Contents/Developer/

如果我天真地尝试和运行它就像这样

$ xcrun swift LeapTest.swift
LeapTest.swift:1:8: error: cannot load underlying module for 'XCTest'
import XCTest
       ^

任何方式直接从CLI运行它?还是我必须创建一个Xcode项目?

我能够使用以下命令获取您的XCTestCase编译:
swiftc \
-F/Applications/Xcode6-Beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks \
-Xlinker -rpath -Xlinker /Applications/Xcode6-Beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks \
-lswiftCore LeapTest.swift \
-o LeapTests

然后可以使用xctest执行测试:

xcrun xctest LeapTests

并分解这些swiftc命令行选项:

> -F …添加XCTest.framework到框架搜索路径,使它能从Swift导入
> -Xlinker -rpath …确保在加载时可以找到XCTest共享库
>没有明确指定-lswiftCore,我发现xctest会在试图运行测试套件时崩溃

希望有所帮助!

猜你在找的Swift相关文章