Python3 unittest单元测试

发表于:2018-9-27 10:44

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:毛斯钢    来源:博客园

  5.unittest处理关联接口
  基本不存在单独的接口,一般都是依赖接口,比如购买商品,依赖登录接口返回的token或者session,这些都是变化的,那怎么在unittest里实现呢?代码如下:
  1 #接口关联,只是一个思路,并没有结合实际的项目,有兴趣的同学可以尝试下
  2 import unittest,HTMLTestRunner
  3 def login(username,passwd):
  4     if username=='xiaogang' and passwd=='123456':
  5         return '138'
  6     else:
  7         return False
  8
  9 def shopping(sign):
  10     if sign=='138':
  11         return True
  12     else:
  13         return False
  14
  15 class My(unittest.TestCase):
  16     def login(self):    #注意,这里不以test开头命名,就是一普通方法,在执行测试用例的时候并不会运行,调用的时候才会
  17         res=login('xiaogang','123456')
  18         self.assertEqual(res,'138')
  19         return res
  20
  21     def test_login_cj(self):
  22         res=self.login()    #调用登录方法,获取sign
  23         self.jp=shopping(res)
  24         self.assertEqual(self.jp,True)
  25
  26 suite=unittest.TestSuite()
  27 suite.addTest(unittest.makeSuite(My))
  28 fw=open('res.html','wb')
  29 runner=HTMLTestRunner.HTMLTestRunner(
  30     stream=fw,title='关联接口',description='描述'
  31 )
  32 # runner=xmlrunner.XMLTestRunner(output='.')
  33 runner.run(suite)
  6.unittest批量读取python文件获取所有测试用例
  每个python文件里放不同的功能测试用例,方便维护,那么怎么把他们一次性运行完呢,这里就用到了unittest里的 defaultTestLoader.discover方法了,用法如下:
  import unittest,HTMLTestRunner
  suite = unittest.TestSuite()#定义测试集合
  all_case = unittest.defaultTestLoader.discover(
  r'E:\szg\bestTest\day11\AUTO\case','test_*.py'
  )#找到case目录下所以的.py文件
  for case in all_case:
  #循环添加case到测试集合里面
  suite.addTests(case)
  fw = open('report.html','wb')
  runner = HTMLTestRunner.HTMLTestRunner(
  stream=fw,title='多个文件运行'
  )
  runner.run(suite)

   上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号