python的unitest简单使用说明

# coding=utf-8

import unittest


# 4.定义测试类,父类为unittest.TestCase。
# 可继承unittest.TestCase的方法,如setUp和tearDown方法,不过此方法可以在子类重写,覆盖父类方法。
# 可继承unittest.TestCase的各种断言方法。
class TestDemo(unittest.TestCase):

    # 5.定义setUp()方法用于测试用例执行前的初始化工作。
    # 注意,所有类中方法的入参为self,定义方法的变量也要“self.变量”
    # 注意,输入的值为字符型的需要转为int型
    def setUp(self):
        self.number = raw_input('Enter a number:')
        self.number = int(self.number)

    # 6.定义测试用例,以“test_”开头命名的方法
    # 注意,方法的入参为self
    # 可使用unittest.TestCase类下面的各种断言方法用于对测试结果的判断
    # 可定义多个测试用例
    # 最重要的就是该部分
    def test_case1(self):
        print self.number
        self.assertEqual(self.number, 10, msg='Your input is not 10')

    def test_case2(self):
        print self.number
        self.assertEqual(self.number, 20, msg='Your input is not 20')

    @unittest.skip('暂时跳过用例3的测试')
    def test_case3(self):
        print self.number
        self.assertEqual(self.number, 30, msg='Your input is not 30')

    # 7.定义tearDown()方法用于测试用例执行之后的善后工作。
    # 注意,方法的入参为self
    def tearDown(self):
        print 'Test over'


# 8如果直接运行该文件(__name__值为__main__),则执行以下语句,常用于测试脚本是否能够正常运行
if __name__ == '__main__':
    # 8.1执行测试用例方案一如下:
    # unittest.main()方法会搜索该模块下所有以test开头的测试用例方法,并自动执行它们。
    # 执行顺序是命名顺序:先执行test_case1,再执行test_case2
    #unittest.main()

    # 方法3
    # suite=unittest.TestSuite() #创建测试套件
    # suite.addTest(TestDemo('test_case2')) #先测试test_case2
    # suite.addTest(TestDemo('test_case1'))#

    # 方法3
    test_dir = './'
    discover = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py')
    runner=unittest.TextTestRunner()
    runner.run()


posted @ 2021-04-14 15:26  公众号python学习开发  阅读(118)  评论(0编辑  收藏  举报