如何在我的 Foundry 代码存储库中强制执行最低测试覆盖率百分比?

How do I enforce a minimum test coverage percentage in my Foundry Code Repositories?

我不仅想在我的 Foundry 代码存储库中编写单元测试,而且我想强制执行最小覆盖率以使检查通过。

最佳做法是确保我至少用单元测试覆盖我的代码的特定部分,但测试似乎不是标准存储库中的要求。

如何在我的 Foundry 代码存储库中完成我的两个测试目标?

您可以使用 PyTest Coverage 来计算覆盖率并强制执行最小百分比。

  1. 将以下内容添加到您的回购 meta.yml 中:
...

test:
  requires:
    - pytest-cov
...

注意:这是需求部分之外的一个部分。

  1. /transforms-python/src/pytest.ini 创建一个 pytest.ini 文件,内容如下:
[pytest]
addopts = --cov=<<package name, e.g. myproject>> --cov-report term --cov-fail-under=100

注意:如果您愿意,可以将强制执行百分比从 100 调低

您的测试现在将失败,即使它们包括 一些 单元测试,如果覆盖阈值低于您配置的值: