gpt4 book ai didi

command-line - 如何计算用pytest编写的测试用例?

转载 作者:行者123 更新时间:2023-12-04 22:03:41 27 4
gpt4 key购买 nike

我的目标是获取包/文件夹中测试方法的数量。我可以通过执行来做到这一点
py.test <folder> --collect-only|grep collected
这显示测试计数为
collected 104 items
但是,这会多次计算参数化测试,例如如果一个方法有两组参数,单次测试将计为 2 次。
有没有办法告诉 pytest 将它们算作单例?

最佳答案

如果您在 pytest 中的测试使用自定义测试收集方法或使用参数化,则常规 grepping 将无济于事。常规 grepping 只能为您提供测试功能和测试类。如果您对该数字感兴趣,这里的其他答案应该适合您。如果您想知道收集的测试总数,请继续。

你应该运行 pytest --collect-only对于目标测试目录并在输出上运行 grep。

一种可能的解决方案是:
pytest --collect-only | grep "<Function\|<Class" -c
它将返回具有 <Function 的行数或 <Classpytest --collect-only 的输出中.由于所有收集的测试都有这两个词中的任何一个,因此它将给出正确的测试数量。

查找测试数量的另一种方法是使用 -k转变。它搜索表达式并运行与表达式匹配的测试。
pytest -k "not test and not Test"
这将为您提供所有测试的数量。它所做的是收集所有测试并尝试找到没有 test 的测试。在测试名称中。由于所有测试都有 test在名称中,将取消选择所有测试,您将获得测试总数。此方法适用于参数化。

关于command-line - 如何计算用pytest编写的测试用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38660286/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com