unittest+HTMLTestRunner

  • unittest的使用
    1、类继承unittest.TestCase
    2、setUpClass:类执行前的方法
    3、tearDownClass:类执行之后的方法
    4、setUp:测试用例执行之前的方法
    5、tearDown:测试用例执行之后的方法,setUp()调用成功,该方法才会被调用
    6、test_xxx:测试用例方法以test_xxx方式命名,不然不会被执行
import unittest
import HTMLTestRunner
class TestUnit(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("类执行之前的方法")

    @classmethod
    def tearDownClass(cls):
        print("类执行之后的方法")

    def setUp(self):#每条用例开始执行时都会执行setUp
        print ("start test {0}...".format(self._testMethodName))

    def tearDown(self):#每条用例结束执行时都会执行tearDown
        print ("finish test.")

    def test_user001(self):#测试用例以test_xxx规则命名
        print('第一条用例')

    def test_user002(self):
        print('第二条用例')

    def test_user003(self):
        print('第三条用例')

if __name__ == '__main__':
    #执行方式1:
    # unittest.main()
    #执行方式:2:执行指定用例
    # test=unittest.TestSuite()
    # test.addTest(TestUnit('test_user001'))
    # test.addTest(TestUnit('test_user002'))
    # unittest.TextTestRunner(verbosity=2).run(test)
    #执行方式3:执行指定用例
    # suit = unittest.TestSuite()
    # case_list = [TestUnit('test_user001'), TestUnit('test_user002')]
    # suit.addTests(case_list)
    # unittest.TextTestRunner(verbosity=2).run(suit)
    #执行后,生成html报告
    suite = unittest.TestSuite()
    suite.addTest(TestUnit('test_user001'))
    suite.addTest(TestUnit('test_user002'))
    fp=open('./report.html','wb')
    runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title='标题')
    runner.run(suite)
    unittest.main()

你可能感兴趣的:(unittest+HTMLTestRunner)