gpt4 book ai didi

python - unittest 将变量作为参数传递

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

我有一个在一个函数中创建并传递给其他函数的数据结构。我正在尝试对所有这些功能进行单元测试。

我需要在每个函数中重新创建该数据结构(环境)吗?我尝试使用全局变量,但无法保证哪个测试用例将在另一个测试用例之前运行。

我知道我无法重写 unittest.TestCase__init__ 而不会很头疼。

我还能怎样实现这一目标?传递参数或以某种方式使其成为变量并避免竞争条件?

最佳答案

听起来您不想在每次测试之前重新定义数据结构。只要测试不修改数据,我认为在__init__中定义数据结构没有任何问题:

import unittest

class Test(unittest.TestCase):
def __init__(self, methodName = 'runTest'):
unittest.TestCase.__init__(self, methodName)
self.data = range(5)

def test_getitem(self):
self.assertEqual(self.data[1],1)

def test_reversed(self):
self.assertEqual(list(reversed(self.data)),[4,3,2,1,0])

if __name__ == '__main__':
import sys
sys.argv.insert(1,'--verbose')
unittest.main(argv = sys.argv)

产量

% test.py
test_getitem (__main__.Test) ... ok
test_reversed (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK

关于python - unittest 将变量作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13522351/

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