私は現在、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
何が問題なのか教えていただけますか?なぜ?