問題タブ [parameterized-unit-test]
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.
java - JUnit - テスト ケースのループと結果の比較
JUnit を学習していて、メソッドを複数回テストする必要があります。2 つのパラメーター (環境とケース番号) に基づいてメソッドをテストする必要があります。同じ Case# が異なる環境間で同じ結果をもたらすかどうかを確認する必要がある 2 つの環境で作業しています。これはテストケースです:
結果は単一のテストケースとして得られますが、結果を次のように要求します。
パラメーター化されたテスト ケースを使用しようとしましたが、テスト メソッドは独立して実行されます。2 つの環境間で結果を比較する必要があり、@Test を使用してメソッドが何らかの値を返し (メソッドは void である必要があります)、アサートする必要があります。お知らせ下さい。
java - IntelliJ IDEA の DataProvider を使用した TestNG テストの失敗
私は最近tddをいじり始め、なぜ一方が機能し、もう一方が機能しないのか理解できないという問題に遭遇しました。
次のコードは私のために働きます:
対応するテスト:
Ant コンストラクターを次のように変更すると、テストは失敗します。
失敗するとは、DataProvider の最初の 2 つのセットを使用したテストが正しく機能することを意味し、残りは失敗/終了していません。何が失敗したのかよくわかりませんが。DataProvider の最初の 2 つのデータ セットを削除しても、最初の 2 つのデータセット (前に 3 番目と 4 番目のデータ セットがある場所) のみが失敗しません。
私はIntelliJを使用していますが、「失敗した」テスト以外のシンボルはまだ「読み込み中のアイコン」です。
各テスト ケースをデバッグすると、ポイントが正しく設定されていることがわかります。テストからアサートを削除しても、何も変わりません。
誰かが私にこの振る舞いを説明してもらえますか?
前もって感謝します
エゴン
編集:失敗したコンストラクタのバージョンを修正
c# - Visual Studio 2015 Intellitest を使用したパラメーター化された単体テスト
私が長い間 MSTest で見たいと思っていた機能の 1 つは、パラメーター化された単体テスト (PUT) です。Intellitestが上記のテストを作成できると聞いて興奮しました。しかし、私は Intellitest で遊んでみましたが、私の PUT の定義は Microsoft の定義とは異なると考えています。
「PUT」というとNUnit の TestCasesやxUnit の Theories を思い浮かべます。私よりずっと賢い人は、同じ用語を使っているようです。
Intellitest が実際に NUnit や xUnit と同じ方法で PUT を作成できるかどうか教えてもらえますか? それとも、Intellitest では 1 つのことを意味し、他のほとんどのテスト フレームワークでは別のことを意味するオーバーロードされた用語の問題ですか? ありがとう。
unit-testing - パラメータ化された単体テストの Osherove の命名規則は?
Roy Osherove は著書 "The Art of unit testing" の中で、良いトーンの名前付けテストを示していますが、パラメーター化されたテストとは矛盾しています。パラメータ化されたテストは、いくつかの側面で簡単に記述および読み取りできます。しかし、マイナス面もあります。
- 特定のパラメーターのセットをデバッグするのが難しくなります。
- テストを正確にチェックするものを理解するのはさらに困難です。パラメーター自体が話せない可能性があるためです。
興味のある人が自分で問題を決定します。そして、どのような結論に達しましたか。速筆テストのために点数を犠牲にするのは正しいことですか?