• 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()#会自动帮
  • 相关阅读:
    Spring boot MultipartResolver
    shell 脚本中的当前工作目录等于执行脚本时所在的工作目录
    IDEA Exception in thread "main" java.lang.ClassNotFoundException: com.streamax.servicecore.business.FileManageServApplication
    java学习路线图-----java基础学习路线图(J2SE学习路线图)
    Java基本语法-----java数组(一维数组二维数组)
    Java基本语法-----java二维数组
    Java基本语法-----java函数
    程序员的自我修养-----Java开发的必须知道的几个注意点
    JAVA面向对象-----java面向对象的六大原则
    Java集合-----java集合框架常见问题
  • 原文地址:https://www.cnblogs.com/weilemeizi/p/14540019.html
Copyright © 2020-2023  润新知