2

SetUp()unittest が各テストの前に実行するメソッド内から、実行しようとしているテスト メソッドの名前を見つける必要があります。すべてのテストメソッドを個別に実行せずにこれを行うにはどうすればよいですか?

例:

class Testing(unittest2.TestCase):
    def setUp():
        # wish i could write:
        string = getNextTestMethodName()

    def test_example(self):
        self.assertNotEqual(0,1)
4

2 に答える 2

1

テストの名前 (またはテストに関連付けられた docstring) を提供するself.shortDescription()を使用できます。これは、setUp/tearDownメソッドでも使用できます。

編集:おそらくself.id()で十分です。テスト名のみを提供します(@Blairに感謝)。

于 2011-12-13T08:18:31.200 に答える
0

self.id() さえ必要ありません:

def setUp( self ):
    logger.info( '# setUp for %s' % ( self, ))

典型的な出力:

# setUp for test_mainframe_has_been_constructed (__main__.BasicFunctionality_FT)

... ここで、「test_mainframe_has_been_constructed」はメソッドです。

したがってrepr( self )、おそらく、文字列だけが必要な場合は、メソッド名が左ブラケット (または最初の空白) で終わることを確認して、スライスとダイスします。

于 2015-10-03T18:26:44.220 に答える