いくつかのテストメソッドが含まれているPython 3.3.2でTestCaseを実行しようとしています:
class ttt(unittest.TestCase):
def setUp(self):
...
def tearDown(self):
...
def test_test1(self):
...
def test_test2(self):
...
if __name__ == "__main__":
instance = ttt()
instance.run()
ドキュメントには次のように記載されています。
TestCase の各インスタンスは、単一の基本メソッド (methodName という名前のメソッド) を実行します。ただし、デフォルトの methodName の標準実装である runTest() は、test で始まるすべてのメソッドを個別のテストとして実行し、それに応じて成功と失敗をカウントします。したがって、ほとんどの TestCase の使用では、methodName を変更したり、デフォルトの runTest() メソッドを再実装したりすることはありません。
ただし、コードを実行すると、次のようになります。
'ttt' object has no attribute 'runTest'
質問したいのですが、これはバグですか? そうでない場合、runTest メソッドがないのはなぜですか? 私は何か間違ったことをしていますか?