• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

testNG,unittest,pytest都怎么根据自己的需要选择特定的case执行

武飞扬头像
得体大队长
帮助1

学新通

 testNG是用xml控制具体执行哪个类里面的全部case的。

如果执行一个类下个别的case呢?

学新通

unittest

在我们实际工作当中,我们经常会用到unittest框架来执行用例,进行冒烟测试。如果你不懂冒烟测试

通过testsuit来执行测试用例的方式:

如果想只想运用某一个用例呢?怎么办?使用套件然后传入测试用例的方法名即可,看实例

学新通

通过testLoader方式:

如果有多个类的情况下,我想运行某个类下面的测试用例呢?通过testLoader

学新通

pytest例子:

import requests
import pytest
 
class Test_case:
    def test_case01(self):
        url = 'http://127.0.0.1:5000/Hello/'
        a = requests.get(url=url)
        print(a.text)
        assert 1==1
    def test_case02(self):
        assert 1==1
    def test_case03(self):
        assert 1==1    
class Test_case2:
    def test_case01(self):
        url = 'http://127.0.0.1:5000/Hello/'
        a = requests.get(url=url)
        print(a.text)
        assert 1==1
    def test_case02(self):
        assert 1==1
    def test_case03(self):
        assert 1==1    
if __name__ == '__main__':
    pytest.main(["-s",'-v',r'E:\pythoncode\python_test\202110182.py'])
 
# 模式1:直接运行202110182.py文件中的所有cases:
# pytest 202110182.py
# 模式2:运行202110182.py文件中的Test_case这个class下的3个cases:
# pytest test_case.py::Test_case
# 模式3:运行202110182.py文件中的Test_case2这个class下的test_case01:
# pytest test_case.py::Test_case2::test_case01
# 注意:定义class时,需要以T开头,不然pytest是不会去运行该class的。

学新通

自定义执行顺序

pytest 框架支持自定义测试用例的执行顺序,需要安装pytest-ordering插件。

pip install pytest-ordering

使用

需要使用 @pytest.mark.run(),代码如下:

学新通

执行顺序如下:

学新通

在测试模块中,先执行被@pytest.mark.run() 标记的测试方法/测试函数,再按默认顺序执行其他的,虽然 pytest 可以自定义测试用例执行顺序,但是实际测试用例设计的过程中,不应该让用例的执行有先后顺序,即任意单独的测试用例都是独立的完整的功能点的校验,不对其他用例有依赖。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggbbik
系列文章
更多 icon
同类精品
更多 icon
继续加载