我是python新手,正在尝试运行从外部文件注入数据的单元测试:
class TestIsEquivalent(unittest.TestCase):
filename = os.getcwd() + '\\data\\test-data.txt'
with open(filename) as f:
testdata = f.readlines()
for value in testdata:
print(value)
def test_0(self):
result = isEquivalent(value, value, 0)
self.assertEqual(result, True)
我在测试函数中调用isEquivalent()的第行中遇到以下错误:
NameError: name 'value' is not defined
这似乎暗示了一个作用域问题,但我不知道如何将for循环中的值传递到测试方法中。如有任何建议,将不胜感激。你知道吗
完整的测试用例应该包装在一个函数中。我不完全确定在for循环中如何处理函数定义,但是将
def test_0(self)
移到分类的顶部就可以了。你知道吗但是,如果您想创建多个测试用例来保存testdata中的所有值,并且不想多次读取该文件,那么可以使用
setUpClass
函数,该函数在类中所有unittests的开始处执行一次。结果是这样的。你知道吗相关问题 更多 >
编程相关推荐