1
誰かのためにここにいくつかの簡単な点があります。私は約1週間Pythonを使用していましたが、私のユニットテストでテキストフィクスチャを構築する関数を呼び出そうとすると、NameError: global name '_build_response' is not defined
を取得しています。コードスニペットのように見える、これをしばらくの間、私の頭を悩まれて:Pythonユニットテスト設定関数 'が定義されていません'
class HttpTestCase(unittest.TestCase):
def _build_response():
#build and returns some text fixtures
def test_http_get(self):
response = _build_response()
私は相続やスコープの私の理解では何かが足りない、またはそれ以上恥ずかしい何かがあるだろうか?任意のポインタが高く評価されました。
ところで
HttpTestCase
クラスのメソッドです。次に、すべてのテストの最中に呼び出す必要はありません。 (もちろん、他のコードで実行するとすぐにこれが動作しない理由を知る必要があります) – delnan@delanありがとうございます。この例は少し工夫されていますが、他の要因によってこれがsetUpの一部になるのを防ぐことができます。お元気です。 – markdsievers
これは[doco](http://docs.python.org/faq/design.html#why-must-self-be-used-explicitly-in-method-definitions-and-calls)Iの一部ですこれを理解するために逃した、[this](http://stackoverflow.com/questions/2709821/python-self-explained)質問も役に立ちます。 – markdsievers