目的是指定用例:test_before 这条用例执行 通过 pytest.main([r".\function.py::test_before"]),即使给绝对路径也还是执行模块的所有用例,找不到解决方法,求解答
要指定运行某个特定的 pytest 用例,你可以使用 pytest -k 命令行选项,并指定用例的名称或关键字。例如,要运行名为 test_before 的测试用例,你可以在命令行上执行以下命令:
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()
pytest.main(["-k", "test_before", "function.py"])
希望这些方法有助于解决你的问题。
一个猜测:你的文件名不以 test 开头的话,好像默认是不会扫描出来的。可以在 pytest ini 里面配置。
已解决感谢