Python UNITEST将变量作为参数传递
我有一个在一个函数中创建并传递到其他函数的数据结构。我正在尝试对所有这些函数进行单元测试 我是否需要在每个函数中重新创建该数据结构(环境)?我尝试使用一个全局变量,但我不能保证哪个测试用例将在另一个之前运行 我知道我不可能不费吹灰之力就重写Python UNITEST将变量作为参数传递,python,unit-testing,Python,Unit Testing,我有一个在一个函数中创建并传递到其他函数的数据结构。我正在尝试对所有这些函数进行单元测试 我是否需要在每个函数中重新创建该数据结构(环境)?我尝试使用一个全局变量,但我不能保证哪个测试用例将在另一个之前运行 我知道我不可能不费吹灰之力就重写unittest.TestCase的\uuuuuu init\uuuuu 我还能怎么做到呢?传递参数或以某种方式使其成为变量并避免竞争条件?听起来您不想在每次测试之前重新定义数据结构。只要测试不修改数据,我认为在\uuuu init\uuu中定义数据结构没有任
unittest.TestCase
的\uuuuuu init\uuuuu
我还能怎么做到呢?传递参数或以某种方式使其成为变量并避免竞争条件?听起来您不想在每次测试之前重新定义数据结构。只要测试不修改数据,我认为在
\uuuu init\uuu
中定义数据结构没有任何问题:
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
听起来您不想在每次测试之前重新定义数据结构。只要测试不修改数据,我认为在
\uuuu init\uuu
中定义数据结构没有任何问题:
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
那么在每个测试方法之后,
setUp
是否会被调用?文档中说:在调用测试方法之前
。这是否意味着每个测试方法?是的,数据结构将在每个测试方法之前重新创建。在每个测试方法之后调用setUp
?文档中说:在调用测试方法之前
。这是否意味着每个测试方法?是的,数据结构将在每个测试方法之前重新创建。