問題タブ [spring-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.

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

junit4 - SuiteTest の外でテストを実行しないようにする方法

スイートのセットアップ レベルでインスタンス化されるリソースが必要なため、TestSuite からのみ実行する必要があり、直接実行する必要のないテストのグループがあります。

だから私のテストスイートは

私のテストはこのようなものです

したがって、スイートを起動するとすべて問題ありませんが、maven を呼び出すと、IT_LiquidBaseTest を直接実行しようとして失敗します。データソースを取得するには依存性注入が必要です

Maven Surefireプラグインがこれを行うのを防ぎ、テストスイートの実行を有効にする方法を知っていますか

ありがとう

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

java - 各単体テスト後のロールバック

Spring、Hibernate、MySQLを使用してアプリケーションを開発しています。テーブルの1つにDAOを作成しました。それでは、DAOのメソッド(保存、検索など)をテストしたいと思います。問題は、これらのメソッドがデータベースデータに影響を与えることです。そのため、特定のメソッドの実行後にすべての変更をロールバックしたいと思います。で設定defaultRollback=trueしてみまし@TransactionConfigurationたが、うまくいきません。以下に、コードの最も重要なフラグメントを貼り付けます。各メソッドの後にロールバックを強制する方法を知っている人はいますか?

MySQLの私のテーブルはInnoDBエンジンを使用しています。実際、テスト実行コンソールにはこの情報が含まれて INFO: Rolled back transaction after test execution for test context ...いますが、データベースの変更はコミットされます。

UsersDAOTest

Hibernate(hibernate.cfg.xml)

Spring構成(applicationContext.xml)

編集

UsersDAO(一般的ですが、問題ではありません)

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

testing - 特定のメソッドに対して @Before を無効にする方法は?

spring と junit を使用して Java でテスト クラスを作成しています (実際には、クラスの下部に「@RunWith(SpringJUnit4ClassRunner.class)」があります)。

特定のテストメソッドの前に実行したくないという @Before アノテーションを持つメソッドがあります(ただし、残りは実行しません)。これどうやってするの?

ありがとう

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

java - JUnit、Spring (SpringJUnit4ClassRunner)、および Spring の配線が正しく機能していません (Eclipse およびコマンド ライン Maven から実行してみました)?

Spring 構成を介して配線しようとしている Bean が機能しないという問題が発生していますか? テスト ケース内のチェック中に Bean アクセサーが null として表示されます (ただし、ログで、セッターが実際に有効な値に設定していることを確認します。実際に助けを借りることができます...

コードは次のとおりです。


そして、次の構成でこれを接続しようとしています

これを実行すると、HistoryZipCompress が 3 回インスタンス化されることがわかります。HistoryZipCompress で getArchiveTypeName を実行した結果の末尾を次に示します。

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

java - テストが ContextConfiguration の場所を親から継承できないのはなぜですか?

DRY のために、親クラスで ContextConfiguration を定義し、すべてのテスト クラスにそれを継承させたいと考えています。

親クラス:

子クラス:

ContextConfiguration docs によると、親の場所を継承できるはずですが、機能させることができません。Spring はまだデフォルトの場所 ( ) でファイルを探しており、/org/my/ChildTest-context.xml見つからない場合は barfs を探しています。私は運がないので、次のことを試しました:

  • 親クラスを具体化する
  • 親クラスへのノーオペレーション テストの追加
  • 注入されたメンバーを親クラスにも追加する
  • 上記の組み合わせ

私はスプリングテスト 3.0.7 と JUnit 4.8.2 を使用しています。

0 投票する
3 に答える
9795 参照

jpa - 利用可能なトランザクションEntityManagerはありません

私はjpaと春の世界に不慣れで、現在、単純なメソッドでいくつかの単体テストを実行していますが、単体テストモードでテストクラスを実行した場合にのみ、このエラーメッセージが表示され続けます。

ただし、プロジェクトを実行すると、コードは正常に機能し、データを正しく取得します(単体テストモードではありません)。

ユニットテストの基礎となる私の方法を以下に示します。

以下の私のユニットテスト:

トランザクションEntityManagerが利用できないというエラーが発生する理由はありますか?:(

前もって感謝します。

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

spring-mvc - ユニットテストを実行するとjava.lang.NullPointerException-mockito

Spring MVCアプリケーションがあり、ユニットテストにmockitoを使用しています。ユニットテストを実行すると、nullポインター例外が発生し続けます。:(

私の単体テストの基礎となる方法を以下に示します。

私のユニットテストの下を見つけてください:

上記の単体テストを実行すると、以下のスタックトレースエラーメッセージが表示されます。

基本的に、以下に示す行99は、スタックトレースに従ってnullを返します。

この行にnullポインタが表示される理由はありますか?ただし、アプリケーションを実行すると正常に動作し、ページにfailLogメッセージが表示されます。

前もって感謝します。

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

java - Spring で Dao をテストする

spring junit ランナーでいくつかのテストを実行する際に問題が発生しています。

私は春に Java 構成を使用しているため、自分に合った例が見つからないようです。

私がやりたいのは、dao クラスの 1 つを使用できる junit テストを作成し、それを hibernate などで動作させることだけですが、そのためには実際の Spring コンテキストでロードする必要があります。

私は次のようにテストクラスを書いてみました:

ただし、 で自動配線することはできませんnodeDao。それは言いNoSuchBeanDefinitionExceptionます。

を自動配線しようとするNodeDaoと実行されますが、春のテストとして実行する唯一のポイントは、実際の春に構成された をテストできるようにすることNodeDaoです。

コンポーネントスキャンなし、コンポーネントスキャンあり、Bean宣言なし、その他の方法も試しましたが、動作しませんでした。

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

spring - Spring Junit テスト スイートの IBM WebSphere 同等のワーク マネージャー

WAS サーバーにデプロイされたアプリケーションがあります。マルチスレッドには WAS ワークマネージャーを使用します。現時点では、マルチスレッドをテストしておらず、Spring コンテキストでバインドされたクラス com.ibm.websphere.asynchbeans.WorkManager のモックを使用しているだけです。

今度は、同じテスト ケースを作成する必要があります。これらは統合テストです。同じ環境/機能を提供するためにそのまま使用できる、すぐに使用できる IBM ワークマネージャーの実装はありますか? 私は commonj ワークマネージャーの実装を使用する準備ができていることを発見しましたが、IBM のものではありませんでした。

ありがとう

0 投票する
4 に答える
7057 参照

ehcache - 春のテスト:同じ名前の別のCacheManager「myCacheManager」が同じVMにすでに存在します

これを重複としてマークする前に、まず質問を読んでください。私はこの例外に関するすべてのものを読みましたが、それは私にとって問題を解決しません。Another CacheManager with same name 'myCacheManager' already existsそして、たとえばの代わりに、わずかに異なる例外が発生しAnother unnamed CacheManager already existsます。

春の設定:

ehcache

問題は、セキュリティをテストするテストクラスが1つ(将来的にはもっと)あることです。これらのクラスは、SecurityContext.xmlもロードします

したがって、ほとんどのテストクラスには次のアノテーションがあります。

ただし、問題の原因となっているクラス:

場所が異なるため、コンテキストが再度読み込まれるようですが、ehcacheManagerは以前のテストからまだアクティブです。

注:これは、複数のテストを実行している場合にのみ発生します(たとえば、クリーン+ビルドなど)。このテストクラスを個別に実行すると、完全に正常に機能します。

問題は何ですか?どうすれば解決できますか?