2

Python でa を実行するunittestと、テストにかかった時間 (個々のテストケースではなく、テスト全体) にアクセスしたいと思います。これは結果の一部として表示されます。結果文字列を解析する以外にこれを行う方法はありますか?

4

1 に答える 1

1

残念ながら、テスト時間に直接アクセスすることはできません。少なくとも、いくつかのunittestクラスを変更する必要はありません。

その時間はTextTestRunner.runで計算され、クラスのメンバーとして保存されませんが、出力としてストリーミングされます。

self.stream.writeln("Ran %d test%s in %.3fs" %
                    (run, run != 1 and "s" or "", timeTaken))

TextTestRunner.runと、それを呼び出すメソッドを上書きすると、変数unittest.mainにアクセスできます。timeTaken

出力テキストを解析する方が簡単です。

さらに、timeTakenその行を記述するために使用された書式ステートメントが表示されるようになったため、危険なく解析できます。

于 2013-08-09T20:40:34.377 に答える