zoukankan      html  css  js  c++  java
  • python 自动化测试框架unittest与pytest的区别

    前言:

    有使用过unittest单元测试框架,再使用pytest单元测试框架,就可以明显感觉到pytest比unittest真的简洁、方便很多。

    unittest与pytest的区别:

    主要从用例编写规则、用例的前置和后置、参数化、断言、用例执行、失败重运行和报告这几个方面比较unittest和pytest的区别

     

    前后置的区别:

    https://www.cnblogs.com/cuitang/p/11639961.html

    参数化的区别:

    unittest参数化:结合装饰器ddt来实现

    1 测试类前要添加修饰器 @ddt.ddt
    @ddt.ddt
    2 class TestLogin(unittest.TestCase):
    #测试用例前要添加修饰 @ddt.data,form_wrong_data包含了3条测试数据,此时要将这3条数据都拿出来,需要加上*
    3 @ddt.data(*lg.form_wrong_data) 4 def test_login_2_form_wrongdata(self, data): 5 # 步骤 登录页面 -》 登录功能-》输入用户名、密码 #测试数据 python 断言数据,请输入手机号 6 self.lp.login(data["user"], data["pwd"]) 7 self.assertEqual(str(data["check"]), self.lp.get_wrong_msg())

    pytest参数化:直接使用@pytest.mark.parametrize(自定义命令参数名称,数据源)

    1     @pytest.mark.parametrize("sucess_data", ld.sucess_data)
    2     def test_1_sucess_login(self, sucess_data, start_app):
    3         MyLog().info("成功登录测试用例")
    4         bl(start_app).click_now_to_login()
    5         lp(start_app).Login(sucess_data["username"], sucess_data["password"])

     较详细的文章可参考:https://blog.csdn.net/qq_41752647/article/details/94463011

     

     

  • 相关阅读:
    HDU 4472 Count DP题
    HDU 1878 欧拉回路 图论
    CSUST 1503 ZZ买衣服
    HDU 2085 核反应堆
    HDU 1029 Ignatius and the Princess IV
    UVa 11462 Age Sort
    UVa 11384
    UVa 11210
    LA 3401
    解决学一会儿累了的问题
  • 原文地址:https://www.cnblogs.com/cuitang/p/11635103.html
Copyright © 2011-2022 走看看