Pytest学习笔记(二) 用例执行规则

醉酒当歌 提交于 2020-04-30 02:30:11

在用pytest执行用例时,可以按照如下场景来执行

1、执行目录及其子目录下的所有用例

pytest filename\

2、执行某一个py文件下的用例

pytest filename.py

3、-k 按关键字匹配

 

pytest  test_class.py -k "TestClass and not two"

运行test_class.py中的TestClass.test_one,不运行TestClass.test_two。

4、按节点运行

每个收集的测试都分配了一个唯一的nodeid,由模块文件名后跟说明符组成。

运行文件中某个测试用例:

pytest test_sample.py::test_answer #文件名::函数名

 

运行文件中某个测试类中的某个用例:

pytest test_class.py::TestClass::test_one   #文件名::类名::函数名

5、-m执行标记用例

执行通过mark标记的所有测试用例。

在test_class.py文件中编写如下代码

import pytest
class TestClass(object):
    @pytest.mark.webtest
    def test_one(self):
        x = "this"
        assert 'h' in x

    def test_two(self):
        x = "hello"
        assert hasattr(x, 'check')

在cmd窗口中执行如下命令:

pytest test_class.py -m webtest

6、-x 遇到错误时,停止测试

在test_class.py文件中编写如下用例:

class TestClass(object):
    def test_one(self):
        x = "this"
        assert 'h' in x

    def test_two(self):
        x = "hello"
        assert hasattr(x, 'check')

    def test_three(self):
        assert 3 == 5

执行命令:

pytest -x test_class.py

从结果来看,本来有3个用例,在第二个用例失败后就停止了后面的用例执行了。

7、maxfail 错误个数达到指定的数量时,停止测试

pytest --maxfail=1  test_class.py

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!