• 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()#会自动帮
  • 相关阅读:
    ES6 Promise用法讲解
    NPM使用介绍
    Docker学习系列(二):Docker三十分钟快速入门(上)
    Spring Cloud学习(一)
    胖ap和瘦ap的区别
    论网络知识的重要性
    2018 发发发发
    sikuli--前端自动化操作的神器
    更改MySQL数据库的编码为utf8mb4
    数据库mysql的常规操作
  • 原文地址:https://www.cnblogs.com/weilemeizi/p/14540019.html
Copyright © 2020-2023  润新知