問題タブ [junitparams]

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 投票する
2 に答える
693 参照

java - JUnitParams - テスト前に個別のメソッドを実行する

このテストを行う適切な方法を見つけようとしています。非常に便利な方法なので、パラメータ化されたテストを使用したいと思います。

ご覧のとおり、すべてのテスト関数で関数 ( fun1and fun2) を呼び出します。ただし、テストごとに 1 回だけ呼び出す必要があります (たとえば、各パラメーター化されたテストの実行前)。

すべてのパラメータ化されたテストを実行する前に、他の関数を実行する必要があることを JUnitParams に伝える方法はありますか?

@Beforeご覧のとおり、使用していないため、注釈を使用できませtest1fun2。別の関数で実行する必要があると思います。

0 投票する
2 に答える
1532 参照

java - JUnitParams パラメータプロバイダで Mockito スタブを使用するには?

私はJUnitを学ぼうとしています。特定の問題に取り組んでいるときに、JUnitParams パラメーター プロバイダーを使用することにしました。私が書いているテスト メソッドの各パラメータ セットには、2 つの入力値と、メソッド呼び出しの結果がテストされるリストが含まれている必要があります。

classroomA実際にclassroomBは、各テスト実行前に準備された Mockito スタブです。

Classroom前述のオブジェクトのリストを使用しようとすると、問題が発生します。

デバッグは、最初の実行中suitableClassroomsに 2 つのオブジェクトが含まれていることを示していますが、さらに調査すると、すべての要素が null であることが示されます。準備したスタブは存在しません。明らかに、テストは、合格または失敗するはずの場所で合格または失敗しません。

Mockito で JUnitParams を使用することに制限はありますか、それとも間違って使用していますか? それらを使用する正しい方法は何ですか?

これが単体テストの間違った手法である可能性もあります。この場合、メソッド呼び出しの結果が特定の配列にあるかどうかを検証するテストを作成する適切な方法は何ですか?

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

java - junitparams で柔軟な列を取得する方法

junitparamsを使用して入力ファイルから値を読み取っているこの状況があります。場合によっては、行のすべての列 (たとえば 5 つ) に値がありますが、最初の数列だけに値がある場合もあります。junitparams で使用可能な変数に値を割り当ててから、null またはその他のデフォルト値を残りの変数に割り当てて、入力値を持たないようにしたい junit params でそれを行うことは可能ですか?

入力ファイル

私のコードは

PS 以前はこれを達成するために feed4junit を使用していましたが、junit 4.12 と feed4junit の間の互換性の問題により、junitparams に切り替える必要があります。junit param で同じ動作をシミュレートしたい

0 投票する
6 に答える
28726 参照

java - junitparameter 例外メソッドにはパラメーターを指定しないでください

メソッドのテストに JUnitParameter を使用すると、例外があります。私のコードは、JUnitParameter の多くの例に似ています。

そして、次の例外が発生します。

Web上で関連するものを見つけられませんでした...

私のクラス全体:

0 投票する
0 に答える
863 参照

java - maven -Dsurefire.rerunFailingTestsCount パラメータ化されたテスト

失敗したテストを Maven で再実行したい。これにはsurefire.rerunFailingTestsCountを使用しています:

ただし、テストが失敗した後、再実行しようとしても、junit によって再度検出されません。

Mavenのドキュメントによると、テスト方法も[*]で示すことができるので、試してみました

テストクラス/メソッド名を指定するさまざまなバリエーションがありますが、結果は同じです。これを引き起こしているアイデアはありますか?

maven-surefire プラグインのバージョンは 2.19.1、junit のバージョンは 4.12、junitparams のバージョンは 1.0.5 です。

テストクラスは次のようになります。

更新:同様の状況で確実なバグレポートが見つかりましたが、修正されました。バグを実証するサンプルコードを取得して実行したところ、うまく機能しました。次に、ランナーをjunitparamsランナーに変更し、上記と同じエラーが発生しました。これはランナーのバグかもしれないと思うので、彼らの github で問題を開きました。

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

java - さまざまなデータ セットを使用したパラメータ化された Android テスト

現在、Android アプリの単体テストと統合テストを作成する方法を研究しています。JUnitParams ライブラリが行うように、パラメータのセットをメソッドに直接提供する可能性がないほど混乱しています。だから私はいくつかの質問があります:

  1. AndroidJUnit4 と JUnitParamsRunner を組み合わせて、Android クラス (Rect など) へのアクセスとパラメーター化されたメソッドを組み合わせる方法はありますか?
  2. そうでない場合、テストのアーキテクチャ構成の最良の方法は何ですか? 例では、例外につながるはずの無効なデータのセットと、有効なデータのセット(しきい値と通常)、およびそれをテストする2つの方法があります。この目的のために 2 つのクラスを作成する必要がありますか? (enum パラメータなどのように、ダクト テープなしで 1 つのクラスで使用される異なるデータ セットを提供することはできないためです。)
0 投票する
2 に答える
1535 参照

java - JUnitParamsメソッドでフィールド変数を設定した後、フィールド変数がnullになるのはなぜですか?

JUnitParamsと を使用してテスト クラスを作成していMockitoます。Mockito mockとして使いたいですparameter。私のテストでは、約 10 個のモックがあり、特別な動作を定義するために 1 つのモックのみを渡したいと考えています。

簡単な例で問題を再現しました。

私の問題: method で変数を初期化しますmyListが、メソッドにparametersForTestデバッグすると null になりますが、目的のモックです。testmyListparam

私が使う

  • JUnitParams バージョン 1.0.5
  • JUnit バージョン 4.12
  • モッキート バージョン 1.10.19

myList が null である理由と、それを修正するにはどうすればよいですか?

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

junit4 - JUnitParamsRunner での TypeNotPresentException

私のJavaコードは次のようになります:

Person.java

}

PersonTest.java

そして、「Run As」=>「JUnit Test Case」を押すと、「java.lang.TypeNotPresentException: Type [unknown] not present」が表示されます。完全なスタック トレースは次のとおりです。

JUnit バージョンは 4.12 です

Hamcrest-all バージョンは 1.3 です

Hamcrest-core バージョンは 1.3 です

この問題を解決する方法についてアドバイスがある人はいますか? 前もって感謝します。