問題タブ [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.
java - Spring: 各テストクラスの最後に @PreDestroy が呼び出されないのはなぜですか?
次のように注釈が付けられた統合テストクラスがあります
これが私のAppConfigurationです
何らかの理由で、すべてのテストの最後に@Component
Beanが呼び出されません。ただし、テストが実行される前に、開始時に呼び出されます。@PreDestroy
CacheConsumerTest
@PostConstruct
誰が問題が何であるか知っていますか?私のいくつかは、@Component
(@Predestroy を呼び出すことによって) 遮断したいバックグラウンド スレッドです。そうしないと、バックグラウンドで行う作業によって、他のテスト クラスでの後続のテストが失敗します。
追加しようとしまし@DirtiesContext(classMode=ClassMode.AFTER_CLASS)
たが、役に立ちませんでした。
編集:問題を理解したので、DirtiesContext を機能させるために追加の手順を実行する必要がありました: Spring @DirtiesContext は Spring コンテキストをリロードしますか?
spring - 「org.springframework.context.annotation.ConfigurationClassPostProcessor.importRegistry」という名前の Bean が定義されていません
junit テスト クラスの完全なパッケージを実行しようとしています。次のように、ドメイン クラスの監査クラスがあります。
- SpringBeanFactory クラス:
-クラス構成のテスト:
-SpringTestingConfig クラス:
- クラス注釈のテスト:
私のテスト メソッドがエンティティを保存しようとすると、PrePersist メソッドが呼び出され、次に取得する Spring サービスが呼び出されます。
これにより、次の例外が生成されます。
テストクラスの完全なパッケージを実行するとこの例外が発生することに言及する必要がありますが、このテストクラスを個別に実行すると例外は生成されません。
ところで、私は春の 3.2.3.RELEASEを使用しています
更新:春のバージョンを最新のリリース 4.0.3 にアップグレードすると、同じ get UserService 行で新しい例外が発生します。
この例外を修正する方法を教えてください。
spring - spring すべてのクラスで @DirtiesContext を使用する必要がありますか?
私はいくつかのjunitテストを持っていますが、
クラス内では、すべてのテストを同じコンテキストで実行する必要があります (これは事実です)。
しかし、すべてのテスト クラスを独立させたいと考えています。これがデフォルトの動作だと思っていたのですが、すべてのテストを一緒に実行すると、実行速度が速すぎるようです。
それはどのように機能しますか?アプリケーション コンテキストは、テスト クラスごとに 1 回だけ開始されますか?
追加する必要があります: @DirtiesContext(classMode= ClassMode.AFTER_CLASS)
各テストクラスで?
ありがとう
spring-test - SpringJUnitRunner ベースのテストが PIT で失敗する
コントローラーとフィルターをテストするために SpringJUnitRunner を利用するプロジェクトがあります。テストを正常に実行すると、すべて正常に実行されます。ただし、PIT でテストを実行すると、SpringJUnitRunner を使用するすべてのテストで次の例外が発生します。
これらの同じテストのコード カバレッジに Emma を使用しても問題が発生したため、Jacoco に切り替える必要があったことに注意してください。
SpringJUnitRunner と PIT の間に既知の非互換性はありますか、またはこれら 2 つがうまく連携できるようにするために行うことができる何らかの構成変更はありますか?
助けてくれてありがとう。
java - @After メソッドが JUnit によって最初に実行される
JUnit テスト ケースで奇妙な問題が発生してい@After
ます。メソッドが最初に JUnit によって呼び出されます。
テストに使用する抽象クラスは次のとおりです。
問題のあるテストケースは次のとおりです。
@After
メソッドが最初に実行される原因は何ですか? 参考までに、私は JUnit 3 を使用していません。
テスト ケースの完全なソース コードは次のとおりです: https://gist.github.com/balteo/e8c2ea96db22d3f9c88e
junit - spring ベースの camel junit テスト ケースの実行中に java.lang.NoSuchMethodError が発生する理由
JUnit を使用してルート ビルダーをテストする必要があり、java.lang.NoSuchMethodError が発生します。構成が不足しているか、ルート ビルダーへのアクセス方法を変更する必要があります。ここで RouteBuilder、コンテキスト、および Junit クラスを見つけてください
JUnit テスト ケースを作成しました。これは、以下のような適切な Maven の場所にあるコンテキストです
ここでは、両方のファイルを添付しています
確認のために、ログも添付します
java - Spring サービスを JUnit テストに自動配線する
次にサービスです。
そして構成クラス。
望ましい目標は、 getIds()が正しい結果を返すことを確認する単体テストです。以下の JUnit テストを参照してください。
BeanCreationException: Could not autowire field
コンパイラは Filter クラスの正しい Bean を見つけますが、サービス変数の例外をスローします。Service クラスを ContextConfiguration クラス属性に追加しようとしましたが、IllegalStateException: Failed to load ApplicationContext
例外が発生します。
MyService を ContextConfiguration に追加するにはどうすればよいですか?
error-handling - JUnit に Spring Integration errorChannel のメッセージがありません
errorChannel
を接続してテストしている簡単な JUnit テストがありservice activator
ます。ただし、このチャネルには何も来ません。構成は次のとおりです。
ErrorMgr は次のとおりです。
}
Thrower クラスは次のとおりです。
Thrower SA は、JUnit テストによって報告される例外をスローするだけですが、何も起こりません。errorChannel
ログイン デバッグは次のとおりです。
java - 依存関係はSpringでSelenium WebDriverを注入しますか?
Spring を使用して WebDriver を注入することは可能ですか? シングルトンにすることはできず、通常は @Before ブロック中にインスタンス化する必要があることを読みました。その時点で作成されても問題ありませんが、参照を手動で渡すのではなく、一部の「ヘルパー」クラスに「魔法のように」提供したいと考えています。
アップデート
を使用して1回のテストでローカルで正常に動作しました
しかし、同時テストを実行するサーバーに配置するとすぐに、このエラーが発生します。
このファクトリのシングルトンが破棄されている間は、シングルトン Bean の作成は許可されません。
を使用するのPrototype
も良い考えではありません。なぜなら、私も注入したいからですWebDriverBackedSelenium
(これにはドライバーが必要で、最終的に 2 つのインスタンスが作成されます)。いくつかのプロトタイプのケースでは、これに遭遇します。
ネストされた例外は org.openqa.selenium.WebDriverException: 新しいセッションの転送中にエラーが発生しました ノードが利用可能になるのを待って要求がタイムアウトしました