- 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()