网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
if name == ‘main’:
pytest.main([‘-s’, ‘-x’, ‘test_02.py’])
运行后观察结果
test_02.py F
================================== FAILURES ===================================
_____________________________ TestDemo02.test_01 ______________________________
…此处省略报错具体原因
test_02.py:10: AssertionError
=========================== short test summary info ===========================
FAILED test_02.py::TestDemo02::test_01 - assert 4 == 14
!!! stopping after 1 failures !!!
============================== 1 failed in 0.09s ==============================
Process finished with exit code 0
可以看出,由于第一条报错,2条用例只执行了第1条,使用`‐‐maxfail=2`可以失败两次后停止,大家自己尝试下。
### 指定执行范围
**通过`test_01.py`文件执行测试**
pytest test_01.py
**通过文件夹执行测试**
pytest testcase
创建`testcase`目录,然后把`test_02.py`移入目录下
然后执行命令,可以发现只执行了`test_02.py`下的用例
============================= test session starts =============================
platform win32 – Python 3.7.1, pytest-6.0.2, py-1.9.0, pluggy-0.13.1
rootdir: D:\study\auto-pytest
collected 3 items
testcase\test_02.py FF
================================== FAILURES ===================================
_____________________________ TestDemo02.test_01 ______________________________
…此处省略报错具体原因
testcase\test_02.py:11: AssertionError
_____________________________ TestDemo02.test_02 ______________________________
…此处省略报错具体原因
testcase\test_02.py:15: AssertionError
=========================== short test summary info ===========================
FAILED testcase/test_02.py::TestDemo02::test_01 - assert 4 == 14
FAILED testcase/test_02.py::TestDemo02::test_02 - assert 4 == 5
!!! stopping after 2 failures !!!
============================== 2 failed in 0.04s ==============================
**通过关键字表达式来进行测试**
这种方式会执行文件名,类名以及函数名与给定的字符串表达式相匹配的测试用例。
pytest ‐k “Demo02 and not 01”
上面的用例会执 行TestDemo02.test\_02但是不会执行TestDemo02.test\_01,就像这样,另外3个没执行
============================= test session starts =============================
platform win32 – Python 3.7.1, pytest-6.0.2, py-1.9.0, pluggy-0.13.1
rootdir: D:\study\auto-pytest
collected 5 items / 3 deselected / 2 selected
testcase\test_02.py …
======================= 2 passed, 3 deselected in 0.03s =======================
**通过节点id来进行测试**
参数化的类名、函数名和参数,用`::`分隔。
可以通过下面的方式运行模块中的指定的测试用例
pytest testcase/test_02.py::TestDemo02:test_01
可以从结果看出,执行了`test_02.py`内`TestDemo02`类下的`test_01`方法
============================= test session starts =============================
platform win32 – Python 3.7.1, pytest-6.0.2, py-1.9.0, pluggy-0.13.1
rootdir: D:\study\auto-pytest
collected 1 item
testcase\test_02.py .
============================== 1 passed in 0.01s ==============================
![img](https://i-blog.csdnimg.cn/blog_migrate/aec2df9abf1ff104db625fd663645ce6.png)
![img](https://img-blog.csdnimg.cn/img_convert/ee23140e0d1010aeb4961056ba786374.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**