Oli*_*son 10
这实际上可以通过传递--enable-code-coverage给swift test
$ swift test --enable-code-coverage
Run Code Online (Sandbox Code Playgroud)
这将在 Linux 上生成一个.xctest包.build/x86_64-unknown-linux/debug/和一个 profdata 文件,.build/x86_64-unknown-linux/debug/codecov/然后您可以将其传递给以llvm-cov生成报告。
例如
$ llvm-cov report .build/x86_64-unknown-linux/debug/PredicatePackageTests.xctest -instr-profile=.build/x86_64-unknown-linux/debug/codecov/default.profdata -use-color
Run Code Online (Sandbox Code Playgroud)
这将生成类似于以下报告的报告:

查看llvm-cov report --help更多信息,它甚至可以生成 HTML 报告。
目前,我还不知道直接支持Linux的工具。就其价值而言,我们仍然对我们的代码覆盖解决方案感到满意,该解决方案支持可在Linux和macOS上运行的Web框架和HTTP服务器。
我们基于Swift Package Manager的项目Kitura使用Travis CI进行持续集成。每个版本将编译和运行测试两个 Linux和MacOS。我们还在Travis CI上每晚进行构建,生成覆盖率数据,然后将其上传到codecov.io生成此类报告。
在幕后,运行构建脚本swift package generate-xcodeproj,然后xcodebuild test启用代码覆盖率。代码覆盖率仅在包含的macOS构建环境上运行xcodebuild。由于我们的Linux和macOS代码路径非常相似,因此覆盖率统计数据足以满足我们的目的,并且我们仍在针对每个OS单独运行测试。
| 归档时间: |
|
| 查看次数: |
555 次 |
| 最近记录: |