问题描述
我不仅要在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下调
您的测试现在将失败,即使它们包括 some 个单元测试,如果覆盖范围阈值低于您配置的值: