作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在寻找一种方法来为使用 Swift 包管理器创建的 Swift 包生成代码覆盖率。在 OS X 上,我可以在运行 swift package generate-xcodeproj
并在 Xcode 下运行测试套件后使用 Xcode 实现这一点,此时我可以使用标准覆盖工具。
有没有现成的工具可以让这种情况发生在 OS X 和 Linux 上?
最佳答案
这实际上可以通过将 --enable-code-coverage
传递给 swift test
$ swift test --enable-code-coverage
这将在 .build/x86_64-unknown-linux/debug/
中生成一个 .xctest
包,在 .build/x86_64-unknown 中生成一个 profdata 文件-linux/debug/codecov/
在 Linux 上,然后您可以将其传递给 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
这将生成如下报告:
查看 llvm-cov report --help
了解更多信息,它甚至可以生成 HTML 报告。
关于linux - 如何在 Linux 或 OS X 上为 Swift 包生成代码覆盖率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40796423/
我是一名优秀的程序员,十分优秀!