zoukankan      html  css  js  c++  java
  • unitest单元测试的详细讲解和html报告模板以及跑单个用例和多个用例,不跑用例的说明

    为啥要用unittest ????????????????????
    def add(a,b):
    return a+b
    result=add(1,1)
    if result==2:
    print('通过')
    else:
    print('不通过')
    前期开发都是这样判断用例的成功和失败,也就是断言为了使用方便,使用了unitest 我们用单元测试功能完成自动化

    为了方便这样优化
    import unittest
    def add(a, b):
    return a + b
    class AddTest(unittest.TestCase):#定义一个类继承方法
    @classmethod
    def setUpClass(cls):#每条用例执行前都会执行它
    print('setup')
    @classmethod
    def tearDownClass(cls):#每条用例执行后都会执行它
    print('teardown')
    def test_normal(self):
    result=add(1,1)
    self.assertEqual(2,result)
    def test_error(self):
    result=add(1,1)
    self.assertEqual(1,result,'结果计算错误')
    self.assertIn(1,[1,2,3,4])
    self.assertNotIn()
    self.assertNotEquals(1,1)
    self.assertFalse()
    self.assertTrue()
    #不需要实例化
    # unittest.main()#会自动帮你运行
    记住运行时候 run... 选择python文件会自动产生报告
    用例运行顺序按字母运行 ????????
    跑单个用例???
    import unittest
    from jiekou import HTMLTestRunner
    def add(a, b):
    return a + b
    class AddTest(unittest.TestCase):#定义一个类继承方法
    @classmethod
    def setUpClass(cls):#每条用例执行前都会执行它
    print('setup')
    @classmethod
    def tearDownClass(cls):#每条用例执行后都会执行它
    print('teardown')
    def test_normal(self):
    result=add(1,1)
    self.assertEqual(2,result)#校验两个值想不想等
    def test_error(self):
    result=add(1,1)
    self.assertEqual(1,result,'结果计算错误')
    self.assertIn(1,[1,2,3,4])
    self.assertNotIn()
    self.assertNotEquals(1,1)
    self.assertFalse()
    self.assertTrue()
    #不需要实例化
    if __name__ == '__main__':
    test_suite=unittest.TestSuite()
    test_suite.addTest(AddTest('test_error'))#加用例单个用例方法
    test_suite.addTest(AddTest('test_normal'))
    with open('report.html','wb') as fw:
    runner=HTMLTestRunner.HTMLTestRunner(stream=fw,title='接口测试报告',description=
    '第一次接口测试报告',verbosity=2
    )
    runner.run(test_suite)

    跑一个类下面所有的用例????????????
     
    import unittest
    from jiekou import HTMLTestRunner
    def add(a, b):
    return a + b
    class AddTest(unittest.TestCase):#定义一个类继承方法
    @classmethod
    def setUpClass(cls):#每条用例执行前都会执行它
    print('setup')
    @classmethod
    def tearDownClass(cls):#每条用例执行后都会执行它
    print('teardown')
    def test_normal(self):
    result=add(1,1)
    self.assertEqual(2,result)#校验两个值想不想等
    def test_error(self):
    result=add(1,1)
    self.assertEqual(1,result,'结果计算错误')
    self.assertIn(1,[1,2,3,4])
    self.assertNotIn()
    self.assertNotEquals(1,1)
    self.assertFalse()
    self.assertTrue()
    #不需要实例化
    if __name__ == '__main__':
    test_suite=unittest.makeSuite(AddTest)

    with open('report.html','wb') as fw:
    runner=HTMLTestRunner.HTMLTestRunner(stream=fw,title='接口测试报告',description=
    '第一次接口测试报告',verbosity=2
    )
    runner.run(test_suite)
     自己调试不产生报告直接运行
     unittest.main()#会自动帮你运行
    还有一个好看的模板?????????
    import unittest
    from jiekou import HTMLTestRunner_PY3
    def add(a, b):
    return a + b
    class AddTest(unittest.TestCase):#定义一个类继承方法
    @classmethod
    def setUpClass(cls):#每条用例执行前都会执行它
    print('setup')
    @classmethod
    def tearDownClass(cls):#每条用例执行后都会执行它
    print('teardown')
    def test_normal(self):
    result=add(1,1)
    self.assertEqual(2,result)#校验两个值想不想等
    def test_error(self):
    result=add(1,1)
    self.assertEqual(1,result,'结果计算错误')
    self.assertIn(1,[1,2,3,4])
    self.assertNotIn()
    self.assertNotEquals(1,1)
    self.assertFalse()
    self.assertTrue()
    #不需要实例化
    if __name__ == '__main__':
    test_suite=unittest.makeSuite(AddTest)

    with open('report.html','wb') as fw:
    runner=HTMLTestRunner_PY3.HTMLTestRunner(stream=fw,title='接口测试报告',description=
    '第一次接口测试报告',verbosity=2
    )
    runner.run(test_suite)
    # unittest.main()#会自动帮
  • 相关阅读:
    OC学习 Extension
    OC习题 切分字符串 处理色值和名称 (知识点: 字典,枚举,数组,字符串)
    OC学习 Protocol delegate
    epoll反应堆模型
    socket IPC(本地套接字 domain)
    UDP协议简单的CS模型实现
    linux系统编程统计一个目录下的普通文件个数
    Vs2003多窗口下的复杂数据传递
    NET下XML的访问
    OWC中双刻度图表的实现
  • 原文地址:https://www.cnblogs.com/weilemeizi/p/14540019.html
Copyright © 2011-2022 走看看