0

これは、このフォーラムでの最初の質問です。クラスのテスト ファイルを別のファイル (すべて Python で) に書き込もうとしていますが、 NameError: global variable name here undefined が発生します。私が行っていることのサンプルコードをいくつか示します。

import unittest
from File import *


class TestFile(unittest.TestCase):

    def object_test_setup(self, elements): 
        s = CustomClass() #from imported File, have to import items this way.
        for item in elements:
            a.insert(item)
        return (a)

    def test_contains_tuple_element(self):
        '''Return True iff CustomClass contains tuple element'''
        custom_object = object_test_setup([1, "string!", ("TUP", "LE")])
        element = ("TUP", "LE")
        self.assertTrue(custom_object.__contains__(element)) # __contains__ is defined in File

ええ、オブジェクトは問題なく初期化され、インポートされたファイルのすべてのメソッドはオブジェクトで機能しますが、何らかの理由で私の NameError は言うNameError: global name 'object_test_setup' is not defined

すべてがインポートされたファイルで機能するため、理解できません。正しくインポートしたと信じており、グローバルな NameError はクラス自体の関数からのものです。なぜこれがうまくいかないのですか?すべてのヘルプは大歓迎です!

どうもありがとう、トーマス

4

1 に答える 1

2

これはクラス メソッドなので、次のように呼び出す必要があります。

custom_object = self.object_test_setup([1, "string!", ("TUP", "LE")])
于 2013-02-15T08:01:08.117 に答える