gpt4 book ai didi

整个测试套件的 Python3 单元测试设置和拆卸

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:59 25 4
gpt4 key购买 nike

对于 python3 和 unnittest 库,是否有适用于完整测试运行的设置和拆卸机制?我看到了模块和类的一个,但没有看到整个测试套件的单个运行设置和拆卸。

最佳答案

我的解决方案是创建一个父类并将测试装置放入其中。其他测试类可以继承这个父类。

例如

init_test.py:

import unittest


class InitTest(unittest.TestCase):
def setUp(self):
self.user = {'id': '1'}

def tearDown(self):
self.user = None

test_a.py:

from init_test import InitTest


class TestA(InitTest):
def test_foo(self):
self.assertEqual(self.user, {'id': '1'})

test_b.py:

from init_test import InitTest


class TestB(InitTest):
def test_bar(self):
self.assertEqual(self.user, {'id': '1'})

test_suites.py:

import unittest
from test_a import TestA
from test_b import TestB


if __name__ == '__main__':
test_loader = unittest.TestLoader()
test_classes = [TestA, TestB]

suites = []
for test_class in test_classes:
suite = test_loader.loadTestsFromTestCase(test_class)
suites.append(suite)

big_suite = unittest.TestSuite(suites)
unittest.TextTestRunner().run(big_suite)

单元测试结果:

..
----------------------------------------------------------------------
Ran 2 tests in 0.001s

OK
Name Stmts Miss Cover Missing
-------------------------------------------------------------------------
src/stackoverflow/54365191/init_test.py 6 0 100%
src/stackoverflow/54365191/test_a.py 4 0 100%
src/stackoverflow/54365191/test_b.py 4 0 100%
src/stackoverflow/54365191/test_suites.py 12 0 100%
-------------------------------------------------------------------------
TOTAL 26 0 100%

源代码:https://github.com/mrdulin/python-codelab/tree/master/src/stackoverflow/54365191

关于整个测试套件的 Python3 单元测试设置和拆卸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54365191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com