問題タブ [junit5-extension-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
34 参照

junit5 - テストケースで System.out/err をアサートする

拡張機能を作成して、古いjunit4拡張機能をjunit5に移植することを検討しています。私が今のところ失敗している機能の 1 つは、System.out または System.err に書き込むテスト メソッドを失敗させ、その特定のテストに失敗ポイントを持たせることです。

TestExecutionListener#reportingEntryPublished を junit.jupiter.extensions.autodetection.enabled=true と一緒に使用してみましたが、その方法にたどり着きましたが、この時点でテストのステータスを実際に FAILED に変更するには遅すぎます。それともできますか?

私は BeforeAllCallback と AfterAllCallback で遊んで始め、out/err のリダイレクトを行い、代わりに文字列バッファーでアサートしました。私はおそらくそれを機能させることができるかもしれませんが、それは私が失敗し、今から数年後にバグを見つける可能性が高いように思えます:) junit4のランナーはこのようなことをしますが、それは本当に複雑すぎて私は誰かが似たようなものを維持しようとすることを望んでいません。

junit5でこれをうまく行う方法はありますか?