前戏 在前面我们使用如下方式来运行测试用例 if __name__ == '__main__': unittest.main() 这样的方式是按照ascii码的顺序来执行的,但有时我们并不想按照ascii来执行,想自定义顺序来执行,这时
前戏
在前面我们使用如下方式来运行测试用例
if __name__ == '__main__':unittest.main()
这样的方式是按照ascii码的顺序来执行的,但有时我们并不想按照ascii来执行,想自定义顺序来执行,这时候就要用到套件了
不使用套件运行
import unittestclass Test_case(unittest.TestCase):
# def setUp(self):
# print('我是前置条件')
#
# def tearDown(self):
# print('我是后置条件')
def test01(self):
print('test01')
def test02(self):
print('test02')
def test03(self):
print('test03')
def test04(self):
print('test04')
def test05(self):
print('test05')
if __name__ == '__main__':
unittest.main()
结果:
.....test01
test02
test03
test04
test05
使用套件(一个一个添加)
import unittestclass Test_case(unittest.TestCase):
# def setUp(self):
# print('我是前置条件')
#
# def tearDown(self):
# print('我是后置条件')
def test01(self):
print('test01')
def test02(self):
print('test02')
def test03(self):
print('test03')
def test04(self):
print('test04')
def test05(self):
print('test05')
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(Test_case('test03')) # 前面的是类名,后面的是函数名
suite.addTest(Test_case('test05')) # 前面的是类名,后面的是函数名
suite.addTest(Test_case('test01')) # 前面的是类名,后面的是函数名
结果:
...test03
test05
test01
从上面的运行结果可以看出来,我们添加几个就执行几个,没有添加的就不执行,而且执行顺序也是我们添加的顺序
这样一个一个的添加是不是太麻烦了,我们可以批量的添加
批量添加
import unittestclass Test_case(unittest.TestCase):
# def setUp(self):
# print('我是前置条件')
#
# def tearDown(self):
# print('我是后置条件')
def test01(self):
print('test01')
def test02(self):
print('test02')
def test03(self):
print('test03')
def test04(self):
print('test04')
def test05(self):
print('test05')
if __name__ == '__main__':
suite = unittest.TestSuite()
tests = [Test_case('test03'),Test_case('test01'),Test_case('test05')] # 放到一个列表里
suite.addTests(tests) # 一次加载所有的,用addTests,上面的没s
runner = unittest.TextTestRunner()
runner.run(suite)
结果:
...test03test01
test05