• python测试用框架unittest & HTMLTestRunner


    import unittest
    import requests
    import os, time,sys
    from HTMLTestRunner import HTMLTestRunner
    from caculate import *


    class TestClass(unittest.TestCase):
    @classmethod #类方法:每次运行测试类只执行一次
    def setUpClass(cls):
    print("这是测试整个类前要执行的方法")

    def setUp(self):
    print("这是每一个测试方法前面运行的方法")

    def tearDown(self):
    print("这是每一个测试方法后面运行的方法")

    def test_first(self):
    print("这是测试方法1-进行接口测试demo")
    # 这是利用requests第三方库(进行发请求,收响应)向百度发个get请求
    res = requests.get('http://www.baidu.com')
    # 这是输出返回结果
    print(res.text)

    def test_second(self):
    print("这是测试方法2-研究一下python的断言")
    assert 1 == 1
    assert {'name': 'linda', 'age': 18} == {'name': 'linda', 'age': 188}
    a = 'hello'
    age = 35
    assert a in 'hello world'
    assert 20 < age < 80
    print("这是测试方法2-研究一下unittest的断言")
    self.assertGreater(1, 2, '这是不可能的')
    self.assertIn(a, ' world', msg='没有hello呀')

    def test_third(self):
    print("这是测试方法3-单元测试-测试开发写的计算器的代码功能是否能实现")
    self.assertEqual(3, add(1, 2))
    self.assertNotEqual(3, add(2, 2))
    self.assertEqual(1, minus(3, 2))
    self.assertEqual(6, multi(3, 2))
    self.assertEqual(2, divide(6, 3))
    self.assertEqual(2, divide(5, 2))

    @classmethod
    def tearDownClass(cls):
    print("这是测试整个类后要执行的方法")


    if __name__ == '__main__':
    # 设置报告的路径
    report_path = os.path.join(os.path.dirname(__file__), 'report')
    # 通过当前时间命名报告
    now = time.strftime("%Y-%m-%d %H_%M_%S", time.localtime())
    filename = report_path + "/" + now + "_result.html"
    # 建立一个套件-就是可以装多个用例
    suite = unittest.TestSuite()
    # 在这个套件中添加测试用例(可能通过类名,模块名等加载,这次用类名)
    suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestClass))
    with open(filename, 'wb') as fp:
    runner = HTMLTestRunner(
    stream=fp,
    title='测试报告',
    description='测试用例')
    runner.run(suite)

    #执行测试时不能用unittest模式下执行,需要在命令行模式下执行才能生成测试报告
  • 相关阅读:
    《人月神话》阅读笔记02
    《人月神话》阅读笔记01
    第十四周学习进度条
    我们做的作品 请大家多多支持我们
    Beta阶段项目总结
    Alpha阶段项目总结
    Alpha版总结会议
    站立会议10(第二次冲刺)
    站立会议09(第二次冲刺)
    站立会议08(第二次冲刺)
  • 原文地址:https://www.cnblogs.com/1026164853qqcom/p/11273816.html
Copyright © 2020-2023  润新知