問題タブ [spring-boot-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 投票する
0 に答える
668 参照

java - SpringBootTest 構成で無視される Bean

次の構造があります。

メイン構成クラス。

そして、2 つの別個の構成クラス。

テストは次のとおりです。

この構造では、BeanEtcDaoとのテスト定義SomeBeanは無視され、これらの Bean のメイン コンテキスト定義が使用されます (からMainApplication.class)。@SpringBootTestしかし、これらの個別の構成をlikeに含めると、@SpringBootTest(classes = {ConfigA.class, ConfigB.class})適切に機能します。@Includeこれらの個々の構成クラスの Bean を初期化できませんか? MainApplication.classまたは、犯人はそれらと一緒に含めることですが、そこから他の構成が必要なので、この方法で実装する必要がありました。

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

java - データソース構成を埋め込まずに春のブートテスト中に「schema.sql」を実行するにはどうすればよいですか?

プライマリ データベースとして使用される h2 データベースを備えたスプリング ブート アプリケーションがあります。また、resource/schema.sqlSpring Boot による起動時に読み込まれるものもあります。

@SpringBootTestただし、 Spring Bootとの統合テスト中は、これをロードしませschema.sqlh2代わりに、既に dbがある間に組み込みデータベースをセットアップする必要があります。

schema.sqlデータソース構成を埋め込まずに実行する方法はありますか? また、すべてのテストに対して 1 回だけ実行しますか (たとえば、@Sqlすべてのテストのスキーマ作成に使用することは解決策ではありません)。

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

spring - JUnit テストでの @SpringBootApplication アノテーションの効果

スプリング ブートの非 Web アプリケーションがあります。

うまく機能するアプリケーションの統合テストをいくつか追加しました。

メイン クラスには の注釈が付けられ@SpringBootApplication、統合テスト クラスには@RunWith(SpringRunner.class)andの注釈が付けられてい@SpringBootTestます。

メイン クラスのアノテーションを@Configurationand @ComponentScan andに変更@EnableAutoConfigurationしてより明示的にすると、テスト クラスは、使用されているクラスの 1 つを検出できないというコンパイル時エラーを表示し、さらに情報を追加するように強制します。

したがって、注釈を以下のように変更する必要が@RunWith(SpringRunner.class)あり@SpringBootTest(classes = EligibilityJobRunner.class)ます。

@SpringBootApplication上記の3つの注釈の便利な注釈であると読んだことがありますが、なぜこの違いがあるのでしょうか? どうもありがとう。