我正在做一个庞大的Django项目,该项目需要几个小时才能生成一份覆盖率报告(使用coverage.py库)。相反,我希望travis仅生成有关PR中已更改功能的报告。
我目前的想法是在.travis.yml
中写一些东西,以便在我的分支和要对其进行PR的分支之间运行git diff
,从输出中获取函数名称,然后运行测试涵盖这些功能。
这似乎是其他人必须遇到的问题,有没有更清洁的方法?
答案 0 :(得分:0)
在我以前的回答之一中,我帮助某人将他们最后修改的php文件保存在git文件夹中(不是您所需要的,但这可能会对您有所帮助)。
检查以下内容:
https://stackoverflow.com/a/50128977/9395299
还要看这个问题:
Is there a way to ask git diff to show the method name instead of the class name?
它指向以下文档:
https://git-scm.com/docs/gitattributes#_defining_a_custom_hunk_header
这可能会对您有所帮助。
我之前从未做过,但是显然您可以指定git diff属性来显示您真正需要的内容(在您的情况下为python函数)。
从那里您可以获取功能列表,并将其传递给您的报道记者。