Python单元测试设置函数';未定义';
几乎可以肯定的是,对于某些人来说,这里有一些简单的要点。我已经使用Python大约一周了,当我试图在单元测试中调用一个函数来构建一个文本fixture时,得到了一个Python单元测试设置函数';未定义';,python,scope,Python,Scope,几乎可以肯定的是,对于某些人来说,这里有一些简单的要点。我已经使用Python大约一周了,当我试图在单元测试中调用一个函数来构建一个文本fixture时,得到了一个NameError:global name'\u build\u response'没有定义。我对此挠头已有一段时间了,代码片段如下所示: class HttpTestCase(unittest.TestCase): def _build_response(): #build and returns some te
NameError:global name'\u build\u response'没有定义。我对此挠头已有一段时间了,代码片段如下所示:
class HttpTestCase(unittest.TestCase):
def _build_response():
#build and returns some text fixtures
def test_http_get(self):
response = _build_response()
在我对继承或范围界定的理解中,我是否遗漏了一些东西,或者还有更令人尴尬的东西?欢迎指点
class HttpTestCase(unittest.TestCase):
def _build_response(self):
# build and returns some text fixtures
pass
def test_http_get(self):
response = self._build_response()
\u build\u response
是HttpTestCase
类的一种方法顺便说一句,如果需要设置函数,请调用它setup
并将对象存储为self
的属性。那么你就不必在每次测试的顶端调用它了。(当然,当您在其他代码中遇到它时,您仍然需要知道为什么它不起作用。)@delan谢谢。这个例子有点做作,其他因素阻止它成为设置的一部分-但它的好建议。为你们的时间干杯。这是我错过的部分。为了理解这一点,这个问题也很有帮助。