問題タブ [spring-junit]

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 に答える
5918 参照

java - Spring: 各テストクラスの最後に @PreDestroy が呼び出されないのはなぜですか?

次のように注釈が付けられた統合テストクラスがあります

これが私のAppConfigurationです

何らかの理由で、すべてのテストの最後に@ComponentBeanが呼び出されません。ただし、テストが実行される前に、開始時に呼び出されます。@PreDestroyCacheConsumerTest@PostConstruct

誰が問題が何であるか知っていますか?私のいくつかは、@Component(@Predestroy を呼び出すことによって) 遮断したいバックグラウンド スレッドです。そうしないと、バックグラウンドで行う作業によって、他のテスト クラスでの後続のテストが失敗します。

追加しようとしまし@DirtiesContext(classMode=ClassMode.AFTER_CLASS) たが、役に立ちませんでした。

編集:問題を理解したので、DirtiesContext を機能させるために追加の手順を実行する必要がありました: Spring @DirtiesContext は Spring コンテキストをリロードしますか?

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

spring - 「org.springframework.context.annotation.ConfigurationClassPostProcessor.importRegistry」という名前の Bean が定義されていません

junit テスト クラスの完全なパッケージを実行しようとしています。次のように、ドメイン クラスの監査クラスがあります。

- SpringBeanFactory クラス:

-クラス構成のテスト:

-SpringTestingConfig クラス:

- クラス注釈のテスト:

私のテスト メソッドがエンティティを保存しようとすると、PrePersist メソッドが呼び出され、次に取得する Spring サービスが呼び出されます。

これにより、次の例外が生成されます。

テストクラスの完全なパッケージを実行するとこの例外が発生することに言及する必要がありますが、このテストクラスを個別に実行すると例外は生成されません。

ところで、私は春の 3.2.3.RELEASEを使用しています

更新:春のバージョンを最新のリリース 4.0.3 にアップグレードすると、同じ get UserService 行で新しい例外が発生します。

この例外を修正する方法を教えてください。

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

spring - spring すべてのクラスで @DirtiesContext を使用する必要がありますか?

私はいくつかのjunitテストを持っていますが、

クラス内では、すべてのテストを同じコンテキストで実行する必要があります (これは事実です)。

しかし、すべてのテスト クラスを独立させたいと考えています。これがデフォルトの動作だと思っていたのですが、すべてのテストを一緒に実行すると、実行速度が速すぎるようです。

それはどのように機能しますか?アプリケーション コンテキストは、テスト クラスごとに 1 回だけ開始されますか?

追加する必要があります: @DirtiesContext(classMode= ClassMode.AFTER_CLASS)

各テストクラスで?

ありがとう

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

spring-test - SpringJUnitRunner ベースのテストが PIT で失敗する

コントローラーとフィルターをテストするために SpringJUnitRunner を利用するプロジェクトがあります。テストを正常に実行すると、すべて正常に実行されます。ただし、PIT でテストを実行すると、SpringJUnitRunner を使用するすべてのテストで次の例外が発生します。

これらの同じテストのコード カバレッジに Emma を使用しても問題が発生したため、Jacoco に切り替える必要があったことに注意してください。

SpringJUnitRunner と PIT の間に既知の非互換性はありますか、またはこれら 2 つがうまく連携できるようにするために行うことができる何らかの構成変更はありますか?

助けてくれてありがとう。

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

java - @After メソッドが JUnit によって最初に実行される

JUnit テスト ケースで奇妙な問題が発生してい@Afterます。メソッドが最初に JUnit によって呼び出されます。

テストに使用する抽象クラスは次のとおりです。

問題のあるテストケースは次のとおりです。

@Afterメソッドが最初に実行される原因は何ですか? 参考までに、私は JUnit 3 を使用していません。

テスト ケースの完全なソース コードは次のとおりです: https://gist.github.com/balteo/e8c2ea96db22d3f9c88e

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

junit - spring ベースの camel junit テスト ケースの実行中に java.lang.NoSuchMethodError が発生する理由

JUnit を使用してルート ビルダーをテストする必要があり、java.lang.NoSuchMethodError が発生します。構成が不足しているか、ルート ビルダーへのアクセス方法を変更する必要があります。ここで RouteBuilder、コンテキスト、および Junit クラスを見つけてください

JUnit テスト ケースを作成しました。これは、以下のような適切な Maven の場所にあるコンテキストです

ここでは、両方のファイルを添付しています

確認のために、ログも添付します

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

java - Spring サービスを JUnit テストに自動配線する

次にサービスです。

そして構成クラス。

望ましい目標は、 getIds()が正しい結果を返すことを確認する単体テストです。以下の JUnit テストを参照してください。

BeanCreationException: Could not autowire fieldコンパイラは Filter クラスの正しい Bean を見つけますが、サービス変数の例外をスローします。Service クラスを ContextConfiguration クラス属性に追加しようとしましたが、IllegalStateException: Failed to load ApplicationContext例外が発生します。

MyService を ContextConfiguration に追加するにはどうすればよいですか?

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

error-handling - JUnit に Spring Integration errorChannel のメッセージがありません

errorChannelを接続してテストしている簡単な JUnit テストがありservice activatorます。ただし、このチャネルには何も来ません。構成は次のとおりです。

ErrorMgr は次のとおりです。

}

Thrower クラスは次のとおりです。

Thrower SA は、JUnit テストによって報告される例外をスローするだけですが、何も起こりません。errorChannel

ログイン デバッグは次のとおりです。

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

java - 依存関係はSpringでSelenium WebDriverを注入しますか?

Spring を使用して WebDriver を注入することは可能ですか? シングルトンにすることはできず、通常は @Before ブロック中にインスタンス化する必要があることを読みました。その時点で作成されても問題ありませんが、参照を手動で渡すのではなく、一部の「ヘルパー」クラスに「魔法のように」提供したいと考えています。

アップデート

を使用して1回のテストでローカルで正常に動作しました

しかし、同時テストを実行するサーバーに配置するとすぐに、このエラーが発生します。

このファクトリのシングルトンが破棄されている間は、シングルトン Bean の作成は許可されません。

を使用するのPrototypeも良い考えではありません。なぜなら、私も注入したいからですWebDriverBackedSelenium(これにはドライバーが必要で、最終的に 2 つのインスタンスが作成されます)。いくつかのプロトタイプのケースでは、これに遭遇します。

ネストされた例外は org.openqa.selenium.WebDriverException: 新しいセッションの転送中にエラーが発生しました ノードが利用可能になるのを待って要求がタイムアウトしました