美文网首页
应用unittest进行断言测试testcase

应用unittest进行断言测试testcase

作者: Rainbow想喝奶茶 | 来源:发表于2021-08-03 15:28 被阅读0次

虽然开发会在自己的代码中写单元测试,但就目前的学习过程,即是依赖于requests模块发起请求,应用unittest执行存储在excel中的测试用例,实现接口自动化测试。

@paramunittest.parametrized()

首先对于获取到的excel中的用例,需要应用paramunittest实现参数化的数据汇总,它是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例。

#test_xls为从excel中获取到的测试用例list
#在建立引用unittest.Testcase类之前写下方语句
@paramunittest.parametrized(*test_xls)

定义setParameters

建立的测试类中首先需要将前文得到的数据进行参数化操作,即用变量来存储参数。

def setParameters(self,case_name,path,query,body,method):
        self.case_name=str(case_name)
        self.path=str(path)
        self.query=str(query)
        self.body = str(body)
        self.method=str(method)
#括号中参数的名字需要与excel中第一行的名字(key)保持一致。

建立测试方法,即执行测试用例的步骤

  • 首先,想要执行的每一个方法命名需要以test开头,不以test开头不会被执行;
  • 其次,可以建立setUp()以及tearDown()方法,在每一条测试用例执行前以及执行后,这两个方法均会被执行一遍;
  • 最后,在测试方法中,利用上方获得的测试用例数据,引用requests模块发起请求,执行测试过程。

断言

在测试方法中,可通过添加断言,判断当前测试用例是否执行通过。

#ss为响应的python对象
if self.case_name=='users':
    self.assertEqual(ss['name'],'123')

执行

在当前文件的最后添加下属语句,可直接执行单元测试。

if __name__ == '__main__':
    unittest.main()

注意:在pycharm里面运行的时候,最后鼠标要放到上方的if下方执行,否则会提示empty suite。
自我记录,有错误欢迎指正~

相关文章

网友评论

      本文标题:应用unittest进行断言测试testcase

      本文链接:https://www.haomeiwen.com/subject/jzkevltx.html