palantir-foundry - 如何在我的 Foundry 代码存储库中强制执行最低测试覆盖率?
问题描述
我不仅想在我的 Foundry 代码存储库中编写单元测试,而且我想强制执行最低限度的覆盖以使检查通过。
确保我使用单元测试至少覆盖了我的代码的一部分是最佳实践,但测试似乎不是标准存储库中的要求。
如何在我的 Foundry 代码库中完成我的两个测试目标?
解决方案
您可以使用PyTest Coverage来计算覆盖率并强制执行最小百分比。
- 将以下内容添加到您的回购中
meta.yml
:
...
test:
requires:
- pytest-cov
...
注意:这是在它自己的部分中的要求部分之外。
- 创建一个包含以下内容的
pytest.ini
文件:/transforms-python/src/pytest.ini
[pytest]
addopts = --cov=<<package name, e.g. myproject>> --cov-report term --cov-fail-under=100
注意:如果您愿意,可以将执行百分比从 100 调低
如果覆盖阈值低于您的配置值,您的测试现在将失败,即使它们包含一些单元测试:
推荐阅读
- python - 如何使用win32com退出Excel而不保存?
- c - 使用 usleep 函数时出错,因为编译器说“尽管没有在此范围内声明‘usleep’”,包括所有需要的库
- xml - 将多级 XML/JSON 数据保存到表中
- bash - Bash 脚本中的箭头键会产生奇怪的字母
- java - 在 JavaFX 中同时启用/禁用组按钮
- php - SQL query() 方法是否会以任何方式影响 Wordpress?
- reactjs - 如何使用 Selenium WebDriver 和 Java 获取元素的内部反应文本?
- android - 在代码中使用小部件后,Android 中未使用的导入指令
- sql - 将查询转换为视图
- mysql - 非常持久的 /opt/lampp/bin/mysql.server: 264: kill: 没有这样的进程。Xampp/ubuntu 16.04