lucialee 2020-02-02
pytest测试用例可以存在函数级别,也可以存在类级别。只需要按照内部的规则设计用例,它可以自动去发现测试用例,不需要像unittest框架测试类需要继承TestCase;
在运行时可以在命令行窗口运行,也可以在pycharm中直接运行,下面会详解两种运行方式;
1.pytest用例设计规则
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(‘第五个测试用例‘)
运行顺序为:
一个正交法设计测试用例的案例研究1992年AT&T发表了一篇讲述在测试过程中使用正交表一个案例研究。据测试负责人估计,如果AT&T采用1000个测试用例的 测试计划,可能仅仅只发现这些缺陷中的32个。