問題タブ [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 4+ テストでのオプションの例外のテスト
文字列をパラメーターとして取り、それが不正な場合は例外をスローするメソッドの単体テストを作成しようとしています (問題がない場合は NONE)。いくつかの文字列と予想される例外をフィードするパラメータ化されたテストを書きたいと思います (入力文字列が整形式の場合に何もスローされない場合を含みます!)。@Test(expect=SomeException.class) アノテーションを使用しようとすると、次の 2 つの問題が発生しました。
expect=null は許可されていません。では、NO 例外がスローされると予想される結果をテストするにはどうすればよいでしょうか (整形式の入力文字列の場合)。
期待=不可能?私はまだ試していませんが、これを読んだ後、これが事実であると強く疑っています (これが本当かどうか述べていただけますか?): http://tech.groups.yahoo.com/group/junit/message/19383 Thisそれから私が見つけた最良の解決策のようです。特にそれと比較して、それについてどう思いますか: パラメータ化されたテストで例外をテストするにはどうすればよいですか?
事前に助けてくれてありがとう、私は議論を楽しみにしています:)
unit-testing - Google テスト:型パラメーター化と値パラメーター化の両方のテストを組み合わせる方法はありますか?
型パラメーター化されたテストと値パラメーター化されたテストを別々に開発する方法を知っています。私が理解しようとしているのは、両方を組み合わせることが可能かどうかです。つまり、任意の型とその型の値の範囲を取る汎用テストを作成します。
delphi - DUnit で「パラメータ化された」テストを記述できますか
DUnit を使用して Delphi ライブラリをテストしています。関数への複数の入力をチェックするために、いくつかの非常によく似たテストを作成する場合があります。
DUnit でパラメータ化されたテストを (似たようなもの) 書く方法はありますか? たとえば、入力と期待される出力を適切なテスト プロシージャに指定し、テスト スイートを実行して、テストの複数回の実行のうちどれが失敗したかについてのフィードバックを取得しますか?
(編集:例)
たとえば、次のような 2 つのテストがあるとします。
まったく同じことを行うが、入力と期待が異なるこれらのテストがさらに増える可能性があります。それらを個別に合格または不合格にしたいので、それらを 1 つのテストにマージしたくありません。
unit-testing - 仕様を使用してパラメータ化されたテストをどのように記述しますか?
テストしたいトレイトのいくつかの異なる実装があり、テストはトレイトのメソッド シグネチャのみを使用するため、パラメータ化されたテストを使用できるはずです。ただし、specs2 の Web サイトには、パラメーター化されたテストを作成する簡単な方法が記載されていないようです。最も近いのは「例を共有する」方法ですが、指定できるようにするために、テストとテスト済みコードのすべての組み合わせを記述する必要があります。
A. テスト
B. テストするクラス
これは個別に指定できますが、2 つのデカルト積をテストします。
java - パラメーター化されたランナーでの Junit テスト ケース コンストラクターの呼び出し
私は長いパラメーター化されたテストを書きました。そのパラメーターの 1 つは、2D 配列の行ごとに異なるオブジェクトを構築するための二重ブレース構文を使用したコンストラクター呼び出しです。
JUnit の哲学は、各 @Test でテスト ケース コンストラクターを呼び出すことであるため、パラメーター化されたテストでも同じことが行われると想定していましたが、そのコンストラクター (パラメーター化されたテスト用に定義されたコンストラクター) のみを呼び出していることがわかります。行ごとに 1 回であり、行ごとのテストごとに 1 回ではありません。
そのため、テスト フィールドはグローバルに動作し、テストは相互に影響しています。通常の JUnit ランナーと同様に、ランナーに各テストのコンストラクターを強制的に呼び出す方法があるかどうかを知りたいです。この場合、Google と JUnit のページは役に立ちません。テスト全体を書き直すのは避けたいと思います。これは、この時点で広範でかなり読みやすいものです。
c# - xunit.net のパラメーター化された単体テスト: 組み合わせごとに赤/緑を表示しますか?
パラメータ化された単体テストは、X 単体テスト * Y 構成がある場合に最適です。
3 つの単体テストがあり、それぞれを 5 つの特定の状況で実行する必要があります。
xUnit.net のTheory
/ PropertyData
featureを使用していますが、うまく機能します。
問題:テスト ランナー UI では、ユニット テストごとに 1 つの緑/赤のシンボルがあり、これは3を意味します。
進行状況を評価するのが難しくなります。すべての構成が完全に機能するまで、シンボルは赤です。特定の組み合わせがうまくいかないことを知るために、15
個のシンボル (ユニット テスト * 構成ごとに 1 つ)
が必要です。
どうすれば15個のシンボルを取得できますか?
別の xunit.net UI を使用しても問題ありません。
2013 UPDATE : この機能を備えた NUnit に切り替えました。
c# - 組み合わせごとに赤/緑を示す、パラメーター化された単体テストを備えた.NETテストフレームワーク?
パラメータ化された単体テストは、X 単体テスト * Y 構成がある場合に最適です。
3 つの単体テストがあり、それぞれを 5 つの特定の状況で実行する必要があります。
xUnit.net のTheory
/ PropertyData
featureを使用していますが、うまく機能します。
問題:テスト ランナー UI では、ユニット テストごとに 1 つの緑/赤のシンボルがあり、これは3を意味します。
進行状況を評価するのが難しくなります。すべての構成が完全に機能するまで、シンボルは赤です。特定の組み合わせがうまくいかないことを知るために、15
個のシンボル (ユニット テスト * 構成ごとに 1 つ)
が必要です。
xunit.netは、 15個のシンボルを表示する機能をまだ実装していません。
この機能を取得するためだけに、別のテスト フレームワークに切り替えたいと考えています。
質問:この機能を持つ .NET テスト フレームワークはありますか?
どのような種類のレポートでも問題ありません (GUI、HTML など)。
delphi - DUnitを使用してどのようなテストケースを作成できますか?
Delphi7を使用しています。
私はDUnitを初めて使用しますが、DUnitを使用してどのようなテストケースを作成でき、どのように作成できるかが疑問です(これは私にとって非常に重要です)。
特定のボタンクリックイベントのテストケースを作成することは可能ですか?その場合、それぞれのデータベース関連のプロシージャまたは関数でより多くのユニットが呼び出されるコードの大きなセットが使用される可能性があるためです。その場合、テストケースを作成するための最良のアプローチは何ですか?(可能であれば、例や紹介は私にとって大きな助けになるでしょう)。
なぜなら、サンプルのDUnitプロジェクトでは、アプリケーションコードのセット全体を記述できないためです。これは、場合によっては、他のフォームを作成する必要があるためです。
だから、私の疑問は、そのような状況でテストケースをどのように書くか、そして一般的に、DUnitを使用してどのような種類のテストケースを書くことができるか、そして重要なことにどのように書くかです。
java - パラメータ化されたランナーで JUnit 4 がタイムアウトしたときの詳細情報の追加
を使用して JUnit 4 テストを実行しています@RunWith(value = Parameterized.class)
。これは問題なく動作します。ただし、34 個のテストのいずれかがタイムアウトすると、メッセージのみが表示されますjava.lang.Exception: test timed out after 15000 milliseconds
。テストのパラメータも表示したいです。
私は以下のコードのようにそれをやろうとさえしました(ほとんどの場合、これは恐ろしい解決策です。メッセージをいつでも表示できるかどうかを確認したかっただけです)が、うまくいきませんでした。上記のメッセージが表示されました。
this.parameter
テストの結果がタイムアウトになったときにJUnitも表示するにはどうすればよいですか?
この問題を示す非常に単純なテスト クラスの例を次に示します。
これによりShowMyMessageTest
、予想される「値42でタイムアウトに達しました」というメッセージが表示されることもあれば、「java.lang.Exception: test timed out after 1000 milliseconds」というメッセージしか表示されないこともあります。この場合、常に「値42でタイムアウトに達しました」を取得したいと思います。
java - 1つのパラメーター化されたクラス(junit)に複数のパラメーターセットを作成する
現在、いくつかの異なる入力でテストするすべてのメソッドに対して、パラメーター化されたテストクラスを作成する必要があります。これを1つのファイルにまとめる方法はありますか?
現在、関数が正しく機能CalculatorTestAdd.java
するかどうかを確認するために使用される一連のパラメーターがあります。Add()
このセットを関数に「接続」して、メソッドAdd()
用の追加セットを作成し、Subtract()
このメソッドを同じテストクラスに追加して、1つのファイルを作成する可能性はありますCalculatorTest.java
か?