0

私は現在、Kent Beck によって書かれたサンプルによるテスト駆動開発を使用して、Python による TDD を実践しています。例に従って、TDDBE の例と同じコードを作成しました。

class TestCase:
    def __init__(self, name):
        self.name = name

    def run(self):
        exec "self." + self.name + "()"

class WasRun:
    def __init__(self, name):
        self.wasRun = None
        TestCase.__init__(self, name)

    def testMethod(self):
        self.wasRun = 1

test = WasRun("testMethod")
print test.wasRun
test.run()
print test.wasRun

しかし、このコードを実行すると、次のエラー メッセージが表示されることがわかりました。

Traceback (most recent call last):
  File "/Users/sanghee/PycharmProjects/test/test.py", line 17, in <module>
    test = WasRun("testMethod")
  File "/Users/sanghee/PycharmProjects/test/test.py", line 11, in __init__
    TestCase.__init__(self, name)
TypeError: unbound method __init__() must be called with TestCase instance as first argument (got WasRun instance instead)

Process finished with exit code 1

何が問題なのか教えていただけますか?なぜ?

4

1 に答える 1