其他测试框架 pytest 指定用例运行不生效

someone · 2023年05月26日 · 最后由 someone 回复于 2023年05月29日 · 5266 次阅读

目的是指定用例:test_before 这条用例执行
通过 pytest.main([r".\function.py::test_before"]),即使给绝对路径也还是执行模块的所有用例,找不到解决方法,求解答

最佳回复

要指定运行某个特定的 pytest 用例,你可以使用 pytest -k 命令行选项,并指定用例的名称或关键字。例如,要运行名为 test_before 的测试用例,你可以在命令行上执行以下命令:

pytest -k test_before

这将只运行包含名称为 test_before 的测试用例的测试函数。如果 test_before 不是测试用例函数的名称,但它是测试函数中的某个关键字,你可以执行以下命令:

pytest -k "test_before"

这将运行包含名称或文档字符串中包括 test_before 的测试函数。请注意,名称和文档字符串中的关键字必须用双引号引起来,并且必须完全匹配所需的关键字。

对于你的代码,你可以尝试以下方式来指定运行 test_before 这个测试用例:

pytest -k "test_before" function.py

或者可以使用 pytest.main() 方法的如下方式:

pytest.main(["-k", "test_before", "function.py"])

希望这些方法有助于解决你的问题。

共收到 3 条回复 时间 点赞
1楼 已删除

一个猜测:你的文件名不以 test 开头的话,好像默认是不会扫描出来的。可以在 pytest ini 里面配置。

要指定运行某个特定的 pytest 用例,你可以使用 pytest -k 命令行选项,并指定用例的名称或关键字。例如,要运行名为 test_before 的测试用例,你可以在命令行上执行以下命令:

pytest -k test_before

这将只运行包含名称为 test_before 的测试用例的测试函数。如果 test_before 不是测试用例函数的名称,但它是测试函数中的某个关键字,你可以执行以下命令:

pytest -k "test_before"

这将运行包含名称或文档字符串中包括 test_before 的测试函数。请注意,名称和文档字符串中的关键字必须用双引号引起来,并且必须完全匹配所需的关键字。

对于你的代码,你可以尝试以下方式来指定运行 test_before 这个测试用例:

pytest -k "test_before" function.py

或者可以使用 pytest.main() 方法的如下方式:

pytest.main(["-k", "test_before", "function.py"])

希望这些方法有助于解决你的问题。

4楼 已删除
5楼 已删除
七街老酒 回复

已解决感谢

someone 关闭了讨论 05月29日 18:04
需要 登录 後方可回應,如果你還沒有帳號按這裡 注册