zoukankan      html  css  js  c++  java
  • unittest参数化

    import parameterized
    import unittest,BeautifulReport

    #数据驱动


    data = [
      ['admin','123456',True,'正常登录'],
      ['admin','1122',False,'冻结用户登录'],
      ['sdfsdf','1111',False,'黑名单用户登录']
    ]
    data2 = [
      ['admin','123456',True],
      ['admin','1122',False],
      ['sdfsdf','1111',False]
    ]
    def login(user,password):
      if user=='admin' and password=='123456':
        return True
      return False


    class LoginTest(unittest.TestCase):  # 定义个类,继承unittest

      @parameterized.parameterized.expand(data) 
      def test_login(self,user,password,expect,desc):
        self._testMethodDoc = desc   # 自己指定用例描述
        result = login(user,password)
        self.assertEqual(expect,result)

      @parameterized.parameterized.expand(data2)
      def test_login2(self,user,password,expect):
      '''登录'''
        result = login(user,password)
        self.assertEqual(expect,result)

    bf = BeautifulReport.BeautifulReport(unittest.makeSuite(LoginTest))
    bf.report(filename='11-17测试报告',description='接口测试报告')

    如果想运行同目录下多个python文件的用例

    import unittest,BeautifulReport

    test_suite = unittest.defaultTestLoader.discover('cases','*.py')   # *代表cases目录下所有python文件

    bf = BeautifulReport.BeautifulReport(test_suite)

    bf.report('report.html','所有用例测试报告')

  • 相关阅读:
    木块问题(The Blocks Problem,Uva 101)
    知识点
    大理石在哪儿(Where is the Marble?,Uva 10474)
    C++结构体
    踪电子表格中的单元格(Spreadsheet Tracking, ACM/ICPC World Finals 1997, UVa512)
    救济金发放(The Dole Queue, UVa 133)
    指针问题
    刽子手游戏(Hangman Judge, UVa 489)
    【poj3278】Catch That Cow
    【CodeVS1226】倒水问题
  • 原文地址:https://www.cnblogs.com/wangyujian/p/11908626.html
Copyright © 2011-2022 走看看