問題タブ [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.

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

hibernate - 削除操作のSpringTestでトランザクションがロールバックされない

どういうわけか、Spring Testを実行するときに、私のテストは削除トランザクションをロールバックしていません。データは完全に削除されます。Spring-Hibernateコンボを使用しています。

これが私のテストクラスです:

コンソールに「Accountagainisnull」というメッセージが表示されます。テストでのように。しかし、テストが終了した後。データベースでは、IDが「87EDA29EBB65371CE04500144F54AB6D」のレコードが完全に削除されます。テストが完了した後、ロールバックする必要があります。トランザクションがロールバックされない理由は本当に混乱しています。

これが私のtestApplicationContext.xmlエントリです:

0 投票する
3 に答える
6447 参照

spring - 複数のテストの春のテストスイートを作成し、選択的なテストを実行するにはどうすればよいですか?

テストクラスには多くの春のテストメソッドがあります。選択的なテストのみを実行したい。だから私は同じクラスでテストスイートを作成したいと思います。

}

このClassTestersChoiceを実行すると、すべてのテストが実行されます。残りではなく、testReadAccountを実行したいだけです。選択的なテストを実行するためのスイートを作成したいと思います。(これを達成するために、上記のテストメソッドの@Testを削除することは避けたい)jUnitテストケースのようなもの。これは、TestersChoiceクラスをTestCaseに拡張し、このメソッドを挿入することで実行できたものです。

しかし、今のところ私はTestCaseを拡張していないので、TestersChoiceインスタンスをスイートに追加できません!

選択的テストを実行する方法は?

0 投票する
3 に答える
27923 参照

spring - Junit を使用した Spring Test セッション スコープ Bean

httpセッションごとにユーザーデータを保持するセッションスコープのBeanがあります。セッション スコープ Bean をテストする Junit テスト ケースを作成したいと思います。Bean がセッションごとに作成されていることを証明できるように、テスト ケースを作成したいと思います。このような Junit テスト ケースを作成する方法についての指針はありますか?

0 投票する
5 に答える
15529 参照

java - Maven-surefireでテストを実行すると、@BeforeClassの後にSpring-Autowiringが発生します

依存性注入 (Spring 自動配線) と maven-surefire に問題があります。次のテストは、TestNG を使用して Eclipse で実行すると問題なく機能します。サービス オブジェクトが注入され、次に@BeforeClassメソッドが呼び出されます。

ただし、maven-surefire でまったく同じテストケースを実行すると、最初に setup() が呼び出され、テストが失敗します。

どうすればこの問題を解決できますか? 置き換える@BeforeClass@Test、TestNG の Eclipse プラグインのように Maven で動作します。

maven-surefire-plugin:2.7.2

Eclipse: ヘリオス サービス リリース 1

jdk1.6.0_14

テストNG: 5.14.10

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

spring - テスト用にSpring ContextLoaderをサブクラス化する正しい使用法

私のSpringアプリケーションとjunitの統合テストでは、次のようにテストクラスを配線するためorg.springframework.test.context.ContextLoaderにすでに存在するを使用したいので、サブクラス化しています:XmlWebApplicationContext

私の ContextLoader の実装は次のとおりです。

public class MyContextLoader は ContextLoader を実装します {

メソッドにブレークポイントを設定すると、loadContext(...)getBean(AccountDao.class) を呼び出すことができ、すべて正常に動作します。ただし、私のテストクラスは実際には自動配線されていないようです。私は少しデバッグし、春のコードをステップ実行しました.AbstractAutowireCapableBeanFactory.populateBean(String beanName, AbstractBeanDefinition mbd, BeanWrapper bw) メソッドで、PropertyValues がクラス Test に設定されていないようです。

たぶん、注釈処理の設定が間違っていますか?

コードへの情報: ご想像のとおり、私は統合テストを行っているため、RESTful Web サービスをテストするために組み込みの tomcat サーバーを開始しています。埋め込み tomcat から「ハック」を使用してアプリケーション コンテキストを取得する方法は、私の投稿に示されています: Getting Access to Spring with Embedded Tomcat 6

返信をお待ちしております。エリック

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

java - xmlファイルのロード中のSpring MVCテストエラー

私のコードは機能しますが、以下の行の Junit モック テストでは失敗します。

ApplicationContext ctx = new ClassPathXmlApplicationContext("../MyFile.xml");

これを修正するにはどうすればよいですか?

@ContextConfiguration を追加するか、別の方法がありますか?

"ApplicationContext ctx = new ClassPathXmlApplicationContext("../MyFile.xml");" この行はテストクラスではなく通常のメソッドにあります

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

java - プロジェクトのレイアウトと春のテストのサポートの問題

以下のようなプロジェクトレイアウトがあります。

ソース

ソース/テスト/Java

ソース/テスト/リソース

また、以前の開発が完了しているため、コードに src/main/(java, resources) を追加することはできません。

src/test/java には、テスト対象のクラスが src フォルダーにあるのと同じパッケージに、単体テストと統合テストの両方があります。

単体テストは現在のセットアップで正常に実行されていますが、統合テストの実行に問題があります。

統合テストは、テスト クラスと構成ファイルがテスト対象のクラスと一緒にあり、src フォルダーとクラスと同じパッケージにある場合、完全に正常に実行されます。

しかし、テスト クラスを src/test/java に配置し、構成ファイルを src/test/resources に配置すると、コンテキストの初期化の問題により、テストの実行に失敗します。

env のセットアップについては、次の点に注意してください。

すべての src 、 src/test/java 、および src/test/resources の 1 つのビルド出力フォルダーは src フォルダーのみです。

2 私は classpath*: を使用して構成の場所を指定しています。そうしないと、Spring がリソース フォルダー内の構成ファイルを見つけることができません。

3 @Autowired と setter ベースの DI の両方をテスト クラスに試しました

問題の原因と解決策を説明してください。

統合テストがテスト対象のクラスと一緒に src フォルダーにある場合、すべてが正常に機能しているため。
テスト中のクラスがテストと同じソースフォルダーにないため、Springがコンテキストを作成するときに、ソースフォルダー(srcとtest)の作成が異なると思われます。

ありがとう

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

java - テスト環境で junit / TestNG テスト ケースを実行する方法はありますか?

私は春のフレームワークが初めてです。Railsフレームワークの経験があります。

3つの環境(テスト、開発、本番)を作成する予定です

この環境ごとにpomファイルにプロファイルを作成しました。

環境を変更したい場合は、アクティブステータスを true / false として手動で変更する必要があります。

環境を変更すると、アプリ全体がその環境で実行されます。

私の質問は、

「pomファイルを何も変更せずに、テスト環境でjunit / TestNGテストケースを実行する方法はありますか?」

ありがとう、

ジョン

0 投票する
5 に答える
19921 参照

java - NoSuchFieldError when trying to run a jUnit test with Spring

So far I have two tests. One uses only jUnit framework and works fine. The other one uses spring-test library and creates this exception every time I try to run it. Any ideas what may cause the problem?

Error

Maven test dependencies

Dependency tree

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

spring - Spring jUnit テスト - 自動配線できないか、appContext.xml が見つからない

春ベースのアプリケーション atm を単体テストしています。最初の問題は、サーバーで一度アプリを起動していない場合、単体テストがすべて失敗することです。最初にサーバー上でアプリを起動 (および停止) すると、単体テストが機能します。

サーバーを起動しないと、次のエラーが発生します。

私のユニットテストは次のように定義されています:

私が言ったように、アプリを一度起動したことがあれば、すべて正常に動作します。

そのため、構成の場所を locations = { "classpath/META-INF/spring/applicationContext-test.xml" }) に変更しましたが、努力なしで、上記と同じ例外です。

さらに取得する唯一の方法は、この場所です: locations = { "classpath*:applicationContext-test.xml" }) 次に、この例外が発生します: [javax.sql.DataSource] 型の一致する Bean が依存関係で見つかりません: 少なくとも期待されますこの依存関係のオートワイヤー候補として適格な 1 つの Bean。依存関係の注釈: {}

しかし、これは紛らわしいです。なぜなら、テスト コンテキスト ファイルに確実にデータソースがあるからです。

EIDT 2

問題が RunWith(...) であることを認識した後、Spring クラスを同時に拡張し、ロケーション パスからすべてのワイルドカードを削除します。私はこの例外を受け取ります:

私は本当に助けていただければ幸いです!

前もって感謝します