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

someone · May 26, 2023 · Last by someone replied at May 29, 2023 · 5259 hits

目的是指定用例: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 条回复 时间 点赞
1Floor has deleted

一个猜测:你的文件名不以 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"])

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

4Floor has deleted
5Floor has deleted
someone #6 · May 29, 2023 Author
七街老酒 回复

已解决感谢

someone 关闭了讨论 29 May 18:04
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up