2

私はを使用してunittestいます。

テストケースでのテストが失敗した場合、私は何かをしたいです(たとえば、後で確認するために、誤った出力を一時フォルダーに保存するなど)。

このコードはどこに属しますか?

最初は確認できると思っていたのですif self.assertEqual(...)が、この関数は値を返さないことがわかりました。これは、障害が検出されたときにテスト機能から実行を開始することを目的としているため、今では理にかなっています。

tearDownテストの成功に関係なく呼び出されるため、どちらも役に立たないようです。

4

1 に答える 1

2

1 つの方法は、テスト ケース インスタンスにフラグを設定し、破棄時にその値を確認することです。

def setUp(self):
    self.test_passed = false

def tearDown(self):
    if not self.test_passed:
        log()

def test_something(self):
    self.assertEquals(something())
    self.test_passed = true

すべてのテストの最後にフラグを true に設定する必要がないように、デコレータを作成できます。

于 2012-09-11T10:11:56.807 に答える