unittest的简单运用

test fixture:

​ Test Fixture用在测试方法前,或者测试方法后,主要功能是提供一些测试需要用的装置,这些装置可以是数据,可以是环境配置也可以是一个运行前状态。简单说,就是数据初始化,以及数据销毁,使用内置的setup/teardown/setUpClass/tradDownClass。

test case:

​ 测试用例是测试的最小单位。它检查对一组特定输入的特定响应。 unittest提供了一个基类, TestCase可用于创建新的测试用例。即创建对应你测试用例的脚本。

test suite:

​ 一个测试套件是测试用例,测试套件,或两者的集合。它用于汇总应一起执行的测试。即测试套件之间可以嵌套,也可以只有一个测试套件,在套件中包含测试用例。

test runner :

​ 测试运行是编排的测试的执行,并提供结果给用户的部件。也就是相当于,框架的入口,他会收集脚本,执行脚本,输出结果。

参考链接:https://www.jianshu.com/nb/47938731

一、直接使用TestCase

注意所有测试方法都需要以test开头

import unittest

class Test1(unittest.TestCase):
    @classmethod
    def setUpClass(self):
        print("execute setUpClass")

    @classmethod
    def tearDownClass(self):
        print("execute tearDownClass")

    def setUp(self):
        print("execute setUp")

    def tearDown(self):
        print("execute tearDown")

    def test_one(self):
        print('execute test_one')
        self.assertTrue('FOO'.isupper())

    def test_two(self):
        print('execute test_two')


if __name__ == '__main__':
    unittest.main()
View Code

二、使用TestSuite

直接写TestCase执行时是按字母排序的顺序执行的,如果要设定测试用例的执行先后顺序则需要将TestCase封装到TestSuite

import unittest

class Test2(unittest.TestCase):
    @classmethod
    def setUpClass(self):
        print("execute setUpClass")

    @classmethod
    def tearDownClass(self):
        print("execute tearDownClass")

    def setUp(self):
        print("execute setUp")

    def tearDown(self):
        print("execute tearDown")

    def test_one(self):
        print('execute test_one')
        self.assertTrue('FOO'.isupper())

    def test_two(self):
        print('execute test_two')


if __name__ == '__main__':
        suite = unittest.TestSuite()
        # Test2是要测试的类名,test_two是要执行的测试方法
        suite.addTest(Test2("test_two"))
        suite.addTest(Test2("test_one"))
        runner = unittest.TextTestRunner()
        runner.run(suite)
View Code

 

posted @ 2021-11-04 22:40  小L小  阅读(32)  评论(0编辑  收藏  举报