0

でパッケージをテストしようとしていますnose。に書いているテストの 1 つの間にstderr、これにより、テストが壊れていると報告されますJenkins(テストを開始し、成功を判断するためnoseに Junit 出力を生成します)。.xmlstderr

したがって、私のテストはおおよそ次のようになります。

def testFunc() {
    f1()
    f2() }

内部から stderr に書き込むので失敗します。これを無視するように鼻に指示できますか、それともテストに何かが欠けていますか (例外が生成された場合にのみ失敗すると予想されます)

edit : エラー出力が失敗の原因であるという仮定は間違っていました。デバッグ出力の数百行の間は例外でした。(何らかの理由で、ジェンキンスは最初にフォーマットされていない(改行なしの)出力を表示し、次に例外トレースを表示し、その後、改行付きの出力をもう一度表示しました。私は例外を見落としました)

4

1 に答える 1

3

stderr を見たくない場合は、logging チュートリアルを使用できます。

例:

import logging
logging.basicConfig(level=logging.ERROR)
# instead of sys.stderr.write():
logging.warning("This is a warning!")

この場合、警告はログ レベルのしきい値を下回っているため、stderr には出力されません。エラーを表示したいがリアルタイムである必要がない場合は、ログ ファイルを指定できます (logging.basicConfig のファイル名パラメーターを使用)。

于 2012-07-24T17:16:09.313 に答える