gpt4 book ai didi

python - 从多个测试用例创建测试套件

转载 作者:行者123 更新时间:2023-11-28 21:15:00 24 4
gpt4 key购买 nike

我已经熟悉了 Python 中的 unittest 库,并且编写了几个看起来类似于此的 unitest.TestCase:

class TestOne(unittest.TestCase):
def setUp(self):
pass

def first_test(self):
self.assertEqual('a', 'b')

def second_test(self):
self.assertEqual('a', 'b')

def third_test(self):
self.assertEqual('a', 'b')

def tearDown(self):
pass


class TestTwo(unittest.TestCase):
def setUp(self):
pass

def first_test(self):
self.assertEqual('a', 'b')

def second_test(self):
self.assertEqual('a', 'b')

def third_test(self):
self.assertEqual('a', 'b')

def tearDown(self):
pass


class TestThree(unittest.TestCase):
def setUp(self):
pass

def first_test(self):
self.assertEqual('a', 'b')

def second_test(self):
self.assertEqual('a', 'b')

def third_test(self):
self.assertEqual('a', 'b')

def tearDown(self):
pass

现在这并不是我的代码看起来的样子,但这是遵循的基本结构。

我知道如果我想执行单个 TestCase,我可以这样做:

suite = unittest.TestLoader().loadTestsFromTestCase(TestOne)
unittest.TextTestRunner(verbosity=2).run(suite)

但是,我一直在努力让多个 TestCase 同时运行。

我试过这样做:

suite = unittest.TestSuite()
suite.addTest(TestOne())
unittest.TextTestRunner(verbosity=2).run(suite)

但这会引发错误:

ValueError: no such test method in <class 'unit_tests.TestOne'>: runTest

我知道如果我每个案例只有一个测试,我会使用 runTest 方法,但我有几个,所有这些都需要在 TestCase 中单独测试

我已经尝试仔细阅读 unittest 文档,但我一直无法弄清楚如何从单个测试套件中的多个测试用例运行测试。

我查看了 nosetests,它完成了我想做的事情而无需对我的代码进行任何修改,但我想知道是否有运行测试的方法来自套件中的多个案例,而不依赖于外部库。

最佳答案

您是否尝试从使用 TestLoader 创建的套件列表中创建一个 TestSuite?这是一个改编自 Python 文档的示例:

suite1 = unittest.TestLoader().loadTestsFromTestCase(TestOne)
suite2 = unittest.TestLoader().loadTestsFromTestCase(TestTwo)
alltests = unittest.TestSuite([suite1, suite2])

关于python - 从多个测试用例创建测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30792303/

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