【Python+unintest实例学习】使用TestSuite测试套件调取另外1个文件里的测试用例,通过TextTestRunner进行运行

在实际工作中,将所有的测试用例代码写到1个文件里不太可取,原因如下(自己想的,不一定准确)

1.不同的模块有不同的代码,比如有登录、下单、搜索等,每个模块单独编写测试用例TestCase,然后通过测试套件TestSuit进行调取。这样代码编写会比较清晰,容易定位问题。

2.同1个文件代码过多,执行时可能会比较慢

3.有时候不同功能的测试用例是不同人编写的,如果再放到一个文件里,容易报错混淆。

 

举一个简单的例子。第一个文件Test35:

# _*_ coding: utf-8 _*_
from unittest import TestCase, main, skip
class MyTestCase(TestCase):
    def setUp(self):
        print('setUp')
    def tearDown(self):
        print('tearDown')
    def test_01(self):
        print('test-01')
    def test_02(self):
        print('test-02')
    def test_03(self):
        print('test-03')
if __name__ == '__main__':
    main()

第二个文件Test36:

# _*_ coding: utf-8 _*_
from test35 import MyTestCase
from unittest import TestSuite,TextTestRunner

TestSuite().addTest(MyTestCase("test_01"))
TestSuite().addTest(MyTestCase("test_02"))
TestSuite().addTest(MyTestCase("test_03"))

if __name__ == '__main__':
    TextTestRunner().run(tests)

 

无论是直接执行第一个文件Test35,还是执行第二个文件Test36,结果都是一样的。

All 3 tests passed

setUp
test-01
tearDown
setUp
test-02
tearDown
setUp
test-03
tearDown

大家可以在实际操作中进行尝试。

另外,测试组件TestSuite的那段代码,一般是会将类重新赋值的,比如下面:

from test35 import MyTestCase
from unittest import TestSuite, TextTestRunner
suite = TestSuite()
# 在测试用例集中添加测试用例, 只添加两个测试的方法
suite.addTest(MyTestCase('test_01'))
suite.addTest(MyTestCase('test_02'))
if __name__ == '__main__':
    # 创建测试runner,执行测试用例集
    runner = TextTestRunner()
    runner.run(suite)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值