問題タブ [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.
junit4 - SuiteTest の外でテストを実行しないようにする方法
スイートのセットアップ レベルでインスタンス化されるリソースが必要なため、TestSuite からのみ実行する必要があり、直接実行する必要のないテストのグループがあります。
だから私のテストスイートは
私のテストはこのようなものです
したがって、スイートを起動するとすべて問題ありませんが、maven を呼び出すと、IT_LiquidBaseTest を直接実行しようとして失敗します。データソースを取得するには依存性注入が必要です
Maven Surefireプラグインがこれを行うのを防ぎ、テストスイートの実行を有効にする方法を知っていますか
ありがとう
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(一般的ですが、問題ではありません)
testing - 特定のメソッドに対して @Before を無効にする方法は?
spring と junit を使用して Java でテスト クラスを作成しています (実際には、クラスの下部に「@RunWith(SpringJUnit4ClassRunner.class)」があります)。
特定のテストメソッドの前に実行したくないという @Before アノテーションを持つメソッドがあります(ただし、残りは実行しません)。これどうやってするの?
ありがとう
java - JUnit、Spring (SpringJUnit4ClassRunner)、および Spring の配線が正しく機能していません (Eclipse およびコマンド ライン Maven から実行してみました)?
Spring 構成を介して配線しようとしている Bean が機能しないという問題が発生していますか? テスト ケース内のチェック中に Bean アクセサーが null として表示されます (ただし、ログで、セッターが実際に有効な値に設定していることを確認します。実際に助けを借りることができます...
コードは次のとおりです。
そして、次の構成でこれを接続しようとしています
これを実行すると、HistoryZipCompress が 3 回インスタンス化されることがわかります。HistoryZipCompress で getArchiveTypeName を実行した結果の末尾を次に示します。
java - テストが ContextConfiguration の場所を親から継承できないのはなぜですか?
DRY のために、親クラスで ContextConfiguration を定義し、すべてのテスト クラスにそれを継承させたいと考えています。
親クラス:
子クラス:
ContextConfiguration docs によると、親の場所を継承できるはずですが、機能させることができません。Spring はまだデフォルトの場所 ( ) でファイルを探しており、/org/my/ChildTest-context.xml
見つからない場合は barfs を探しています。私は運がないので、次のことを試しました:
- 親クラスを具体化する
- 親クラスへのノーオペレーション テストの追加
- 注入されたメンバーを親クラスにも追加する
- 上記の組み合わせ
私はスプリングテスト 3.0.7 と JUnit 4.8.2 を使用しています。
jpa - 利用可能なトランザクションEntityManagerはありません
私はjpaと春の世界に不慣れで、現在、単純なメソッドでいくつかの単体テストを実行していますが、単体テストモードでテストクラスを実行した場合にのみ、このエラーメッセージが表示され続けます。
ただし、プロジェクトを実行すると、コードは正常に機能し、データを正しく取得します(単体テストモードではありません)。
ユニットテストの基礎となる私の方法を以下に示します。
以下の私のユニットテスト:
トランザクションEntityManagerが利用できないというエラーが発生する理由はありますか?:(
前もって感謝します。
spring-mvc - ユニットテストを実行するとjava.lang.NullPointerException-mockito
Spring MVCアプリケーションがあり、ユニットテストにmockitoを使用しています。ユニットテストを実行すると、nullポインター例外が発生し続けます。:(
私の単体テストの基礎となる方法を以下に示します。
私のユニットテストの下を見つけてください:
上記の単体テストを実行すると、以下のスタックトレースエラーメッセージが表示されます。
基本的に、以下に示す行99は、スタックトレースに従ってnullを返します。
この行にnullポインタが表示される理由はありますか?ただし、アプリケーションを実行すると正常に動作し、ページにfailLogメッセージが表示されます。
前もって感謝します。
java - Spring で Dao をテストする
spring junit ランナーでいくつかのテストを実行する際に問題が発生しています。
私は春に Java 構成を使用しているため、自分に合った例が見つからないようです。
私がやりたいのは、dao クラスの 1 つを使用できる junit テストを作成し、それを hibernate などで動作させることだけですが、そのためには実際の Spring コンテキストでロードする必要があります。
私は次のようにテストクラスを書いてみました:
ただし、 で自動配線することはできませんnodeDao
。それは言いNoSuchBeanDefinitionException
ます。
を自動配線しようとするNodeDao
と実行されますが、春のテストとして実行する唯一のポイントは、実際の春に構成された をテストできるようにすることNodeDao
です。
コンポーネントスキャンなし、コンポーネントスキャンあり、Bean宣言なし、その他の方法も試しましたが、動作しませんでした。
spring - Spring Junit テスト スイートの IBM WebSphere 同等のワーク マネージャー
WAS サーバーにデプロイされたアプリケーションがあります。マルチスレッドには WAS ワークマネージャーを使用します。現時点では、マルチスレッドをテストしておらず、Spring コンテキストでバインドされたクラス com.ibm.websphere.asynchbeans.WorkManager のモックを使用しているだけです。
今度は、同じテスト ケースを作成する必要があります。これらは統合テストです。同じ環境/機能を提供するためにそのまま使用できる、すぐに使用できる IBM ワークマネージャーの実装はありますか? 私は commonj ワークマネージャーの実装を使用する準備ができていることを発見しましたが、IBM のものではありませんでした。
ありがとう
ehcache - 春のテスト:同じ名前の別のCacheManager「myCacheManager」が同じVMにすでに存在します
これを重複としてマークする前に、まず質問を読んでください。私はこの例外に関するすべてのものを読みましたが、それは私にとって問題を解決しません。Another CacheManager with same name 'myCacheManager' already exists
そして、たとえばの代わりに、わずかに異なる例外が発生しAnother unnamed CacheManager already exists
ます。
春の設定:
ehcache
問題は、セキュリティをテストするテストクラスが1つ(将来的にはもっと)あることです。これらのクラスは、SecurityContext.xmlもロードします
したがって、ほとんどのテストクラスには次のアノテーションがあります。
ただし、問題の原因となっているクラス:
場所が異なるため、コンテキストが再度読み込まれるようですが、ehcacheManagerは以前のテストからまだアクティブです。
注:これは、複数のテストを実行している場合にのみ発生します(たとえば、クリーン+ビルドなど)。このテストクラスを個別に実行すると、完全に正常に機能します。
問題は何ですか?どうすれば解決できますか?