[解決済み] Junit with Spring - TestContextManager [ERROR] TestExecutionListenerを許可する際に例外をキャッチしました。
2022-02-18 07:28:28
質問
Spring-Maven--Hibernate-Mysql runnint on TomcatのWebアプリで、2種類のJunitカテゴリーを使用して2種類のJunit統合テストを実行しています。
- LocalTests - プロセス内で実行され(サーバーは不要)、ウェブ層のメソッド(この場合はジャージ)を直接呼び出します。
- HttpTests - クライアントをシミュレートし、httpリクエストで私のウェブレイヤーを呼び出します。
各テストクラスの上に、私が持っている
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:testApplicationContext.xml" })
そして、私のテストスイートは次のようになります(これは2つのうちの1つで、各カテゴリーに1つずつあります)。
@RunWith(Categories.class)
@IncludeCategory(HttpTest.class)
@SuiteClasses({ ...All My Test Classes... })
public class HttpSuiteITCase {
// Excluded: NotificationTests, ImageHttpTests
/**
* Run once before any of the test methods.
*/
@BeforeClass
public static void setTestsConfigurations() {
TestConfiguration.setup(false);
}
私のtestApplicationContextは実際には空で、コンポーネントスキャンだけが含まれています。
<context:component-scan base-package="com.company.app" />
ローカルでテストを実行すると、すべてがスムーズに動作しますが、mt HTTPテストを呼び出すとクラッシュします。
2012-07-22 17:56:13 DefaultListableBeanFactory [INFO] Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2598a35d: defining beans [httpBrandManagerTestsProxy,httpClubTestsProxy,<HERE THERE'S A BUNCH OF SPRING BEANS>,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,contextApplicationContextProvider,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
2012-07-22 17:56:13 TestContextManager [ERROR] Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@29565e9d] to prepare test instance [integrationTests.http.tests.UserLoginDataHttpTests@480d41f3]
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:157)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:288)
いろいろやってみたけどうまくいかない :( testApplicationContextはtest/resourcesフォルダの下にあります。
私は、例外が特定のクラスをマークしていることに気づきました。UserLoginDataHttpTestsです。 しかし、私はこのクラスについて何も特別なものを見ることができません。
よろしくお願いします。
どのように解決するのですか?
この問題が発生するのは
Springのコンテキスト
で定義されているリスナーの1つよりも前に読み込まれます。
web.xml
.
春
は、私自身のリスナーを使用して初期化される、非スプリングクラスを使用するいくつかのビーンズを初期化しています。この問題を解決するには、私のリスナーが最初に実行されるようにする必要があります。
関連
-
[解決済み] Spring Batchのステップスコープの仕組み
-
[解決済み] ResourceBundleViewResolverでviews.propertiesが必要な理由
-
[解決済み] ApplicationContext(アノテーション付き)の読み込みに失敗しました。
-
互換性のない型.Found:'int',required:'java.lang.String'.
-
SpringBootのテスト
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み】Spring MVCとSpring Bootの違い【終了しました
-
[解決済み】Springでは、オプションのパス変数を作ることができますか?
-
[解決済み] Spring MVCのテストで "Circular view path "例外を回避する方法
-
[解決済み] Spring Frameworkにおける依存性注入と制御の逆転とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ResourceBundleViewResolverでviews.propertiesが必要な理由
-
[解決済み] <mvc:default-servlet-handler />の必要性と用途は何ですか?
-
FunctionService' タイプのビーンが見つかりませんでした。
-
自動配線された依存関係のインジェクションに失敗する; 自動インジェクションに失敗する問題
-
SpringBootで'Application'を実行中にエラーが発生しました。コマンドラインが長すぎるため、コマンドラインを短くしてください。
-
[解決済み】Springでは、オプションのパス変数を作ることができますか?
-
[解決済み】Spring MVCのApplicationContextとWebApplicationContextの違いは何ですか?
-
[解決済み] MockitoでSpringの自動配線された@Valueフィールドをモックするにはどうすればよいですか?
-
[解決済み] Springセキュリティフィルタチェーンの仕組み
-
[解決済み] Spring Bootのデータベース関連の自動設定をすべて無効にする