官方用例
# 目录结构
|
|----test_mod.py
|
|----testing||----test_dir.py
# content of test_mod.py
import pytestdef func(x):return x + 1def test_mod():print("test_mod function was invoked")assert func(3) == 5def test_func():print("test_func was invoked")assert 0@pytest.mark.slow
def test_slow_func():print("test_slow_func was invoked.")assert 0class TestMyClass:def test_something(self):print("TestMyClass.test_something was invoked")assert 0def test_method_simple(self):print("TestMyClass.test_method_simple was invoked")assert 0class TestClass:def test_method(self):print("test_method was invoked.")assert 0
# content of test_dir.pydef test_dir():print("test_dir function was invoked")assert 3 == 5
解读与实操
- 只运行test_mod.py模块里面的测试用例
- 运行testing目录及子目录下的测试用例
- 运行文件名、类名、方法名中包含MyClass但不包含method的所有用例,例如TestMyClass.test_someting会运行,但TestMyClass.test_method_simple不会运行,Windows下用“”,Linux或Mac下可使用’'或""
- 运行test_mod.py模块下的test_func函数
- 运行test_mod.py模块下的TestClass类下的test_method函数
- 运行被@pytest.mark.slow装饰的测试用例
场景应用
- 编写好了一个新的测试用例,想单独调试一下;
- 代码提测后,某个模块发生了改动,要调试一下;
- 生产环境与测试环境回归内容不同,根据mark要进行区分
以上场景,都可以通过指定要运行哪些用例来完成。