我想从命令行使用XCTest测试一些Swift示例,如果可能的话.
import XCTest
class LeapTest : XCTestCase {
func testVanillaLeapYear() {
let year = Year(calendarYear: 1996)
XCTAssertTrue(year.isLeapYear);
}
}
Run Code Online (Sandbox Code Playgroud)
我喜欢从命令行运行它.
我已经将Xcode设置为使用测试版中的开发人员工具:
sudo xcode-select -s /Applications/Xcode6-Beta.app/Contents/Developer/
Run Code Online (Sandbox Code Playgroud)
如果我天真地尝试并运行它就像这样
$ xcrun swift LeapTest.swift
LeapTest.swift:1:8: error: cannot load underlying module for 'XCTest'
import XCTest
^
Run Code Online (Sandbox Code Playgroud)
有没有办法直接从CLI运行它?或者我是否必须创建Xcode项目?
cho*_*bin 46
我认为问题是你在主项目的目标成员资格下有你的test.swift文件.确保您的swift测试文件仅属于Test目标.
Ada*_*arp 12
我能够使用以下命令进行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
Run Code Online (Sandbox Code Playgroud)
然后你可以执行测试xctest:
xcrun xctest LeapTests
Run Code Online (Sandbox Code Playgroud)
并打破这些swiftc命令行选项:
-F... 将XCTest.framework添加到框架搜索路径,使其能够从Swift导入-Xlinker -rpath ... 确保在加载时可以找到XCTest共享库-lswiftCore,我发现xctest当它试图运行测试套件时会崩溃希望有所帮助!
| 归档时间: |
|
| 查看次数: |
15532 次 |
| 最近记录: |