2.pytest用例设计及运行

Posted 不休不止

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.pytest用例设计及运行相关的知识,希望对你有一定的参考价值。

pytest测试用例可以存在函数级别,也可以存在类级别。只需要按照内部的规则设计用例,它可以自动去发现测试用例,不需要像unittest框架测试类需要继承TestCase;

在运行时可以在命令行窗口运行,也可以在pycharm中直接运行,下面会详解两种运行方式;

1.pytest用例设计规则

  1. 所有的测试脚本存放在python的包中。python的包中带有__init__.py文件
  2. 模块名设计规则:test_*.py 或者 *_test.py
  3. 类名设计规则:   Test* 以Test开头的类
  4. 方法名设计规则:test_* 以test_开头的方法名
  5. 函数名设计规则:test_* 以test_开头的函数

2.脚本命令行运行3中方式

  pytest(推荐使用)  py.test  python -m pytest

3.执行脚本时参数

  -s 详细显示日志信息 

  -q 显示简略运行信息

  -x 遇到第一个失败用例停止运行

  --maxfile=2 遇到第二个失败用例停止运行,可以改变停止运行的失败用例数

4.pycharm中运性用例

确定是否是pytest运行器运行

 更改运行器:file-->setings

用例运行顺序

1.如果鼠标悬停在其中一个用例右键运行,则只会运行悬停处用例;

2.如果鼠标没有悬停则顺序为先运行函数级别用例,在运行类级别用例;

函数级别用例和类中测试方法的运行顺序根据函数名或方法名的尾部,数字优先,然后字母根据ascll码顺序执行;

example:

def test_add_1():
    assert add(1,2)==3

def test_add_2():
    assert add(2,3)==4

def test_add_a():
    assert add(2,3)==5


class Test_class():

    def test4(self,qianzhi):
        print(\'第四个测试用例\')

    def test5(self,qianzhi):
        print(\'第五个测试用例\')

运行顺序为:

以上是关于2.pytest用例设计及运行的主要内容,如果未能解决你的问题,请参考以下文章

pytest的执行方式及搜索原则

Python测试框架pytest(23)插件 - pytest-pickedpytest-lazy-fixture

pytest 内置插件

4.一些其他的特色运行

自动化冒烟测试unittest,pytest哪家强?

10pytest -- skip和xfail标记