gpt4 book ai didi

python - 具有可变数量测试的 PyUnit

转载 作者:太空宇宙 更新时间:2023-11-03 15:28:31 24 4
gpt4 key购买 nike

我想做的是创建一个文件夹,人们可以在其中放入文件进行测试,并让 pyunit 自动扩展以便将测试作为单独的测试运行。目前,我正在做的是:

class TestName(unittest.testcase):
def setUp(self):
for file in os.listdir(DIRECTORY):
# Setup Tests

def test_comparison(self):
for file in os.listdir(DIRECTORY):
# Run the tests

def suite():
return unittest.TestSuite([
unittest.TestLoader().loadTestsFromTestCase(TestName),
])

if __name__ == "__main__":
unittest.TextTestRunner(verbosity=2).run(suite())

显然这有很多问题,例如如果任何测试失败,整个事情都会失败等等。我想做的是设置 pyunit 以便它运行测试(或测试用例),对于放置在目录中的每个文件。现在,我想我可以做的是创建上面列出的类,只用这两种方法,但为了成功地做到这一点,我必须添加一个上下文参数,例如:

def setUp(self, filepath):
# Do stuff

然后我可以将循环放在主要代码块中,然后像这样运行测试:

def suite():
return unittest.TestSuite([
unittest.TestLoader().loadTestsFromTestCase(TestName, file),
])

if __name__ == "__main__":
for file in DIRECTORY:
unittest.TextTestRunner(verbosity=2).run(suite(file))

但我不确定如何在不几乎重写 hole unittest.TestCase() 类的情况下做到这一点。有什么方法可以做到这一点,或者有什么其他方法可以根据文件夹中的文件数量动态扩展一组测试/测试用例吗?谢谢。

最佳答案

你可以使用 nose支持 test generators .这看起来像这样:

def test_comparison():
for file in os.listdir(DIRECTORY):
yield run_cmp_test, file

def run_cmp_test(file):
# Run the tests

或者你也可以 funcargs在 py.test 中。

关于python - 具有可变数量测试的 PyUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137478/

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