問題タブ [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.
java - @Test 後のロールバック トランザクション
まず、これについて StackOverflow で多くのスレッドを見つけましたが、どれも実際には役に立たなかったので、重複した質問をして申し訳ありません。
spring-test を使用して JUnit テストを実行しています。コードは次のようになります
私の問題は、自分のテストが他のテストに影響を与えないようにしたいということです。そこで、テストごとにロールバックのようなものを作成したいと思います。私はこれをたくさん検索しましたが、これまでのところ何も見つかりませんでした。これにはHibernateとMySqlを使用しています
mysql - SpringテストDBUnit:最も単純なテストでもテーブル比較が失敗する
Spring test DBUnitを使用して、DBサービスとHibernateをテストします。私は可能な限り簡単なテストを書きました:
そしてそれは失敗します!なんで?テーブルを変更する前に機能しました(一部のフィールドを削除し、他のフィールドを追加し、主キーを再割り当てしました)DBunitは、異なるレコードのcompanyName列を比較しているようですdumbDataSample_DBAccount.xml
何か案は?これがトレースです
テーブルのスクリプトは次のとおりです。
これが私のEntityクラスです:
Hibernate構成:
アノテーションを使用しているので、persistence.xmlファイルはありません
これがテストコンテキストです
java - JUnit-メソッドの前
すべてのJUnitテストメソッドの前に、いくつかのコードを実行する必要があります。このコードを実行するには、SpringTestクラスAbstractTestExecutionListenerとその子TransactionContextTestExecutionListenerを使用します。
これはコードです:
私のJUnitクラスは次のようになります。
問題は、beforeTestMethodメソッドが最初に実行されたテストメソッドの前にのみ呼び出されることです。残りのすべての前に呼び出されるわけではありません。
設定に問題がありますか?何か案が?
ありがとう
integration-testing - Spring AbstractTransactionalJUnit4SpringContextTests および simpleJdbcTemplate
を使用して統合テストを作成しようとしていAbstractTransactionalJUnit4SpringContextTests
ます。executeSQLScript
このクラスのメソッドを使いたいです。
ただし、メソッドが呼び出されると、クラスのパラメーターが初期化されていないためexecuteSQLScript
、スローされます。NullPointerException
simpleJdbcTemplate
AbstractTransactionalJUnit4SpringContextTests
私のコードは次のようになります。
助けてくれてありがとう!
java - org.springframework.test は、maven 依存関係が存在する場合にも解決できません
Spring アプリケーションのテスト スイートをビルドしようとしているときに問題が発生しました。私はMavenが初めてで、何が悪いのかわかりません。pom.xml に追加しました
しかし、私はまだEclipseからエラーを取得しています: The import org.springframework.test cannot be resolved
.
この議論 ( http://appfuse.547863.n4.nabble.com/spring-test-package-not-found-td1596479.html ) に従って、追加しようとしました<scope>provided<scope>
が成功しませんでした。
ここに私の完全なものがありpom.xml
ます:
それから私は実行しようとしましたがmvn dependency:tree
、奇妙なことは何も見えません:
事前に感謝します。
spring - spring-test-mvc jsonpath でテストすると null が返される
Spring の「spring-test-mvc」ライブラリを使用して Web コントローラーをテストしています。JSON配列を返す非常に単純なコントローラーがあります。それから私のテストで私は持っています:
上記のテストは以下を返します。
実際に何が得られるかをすばやく確認するために、以下のテストを実行しました。
そして、それはの本体で正しいJSON配列を返しますMockHttpServletResponse
JSON配列でjsonPath
表示できない理由がわかりません。fName
java - アプリケーション コンテキストとコンテキストの場所へのプログラムによるアクセス
春の ContextConfiguration アノテーションを使用してアプリケーションコンテキストを提供するいくつかのテストがあります (私はそれらを作成しませんでした。私はそれらを維持しています)。
とにかく、いくつか質問があります。私は、file:/ または classpath:/ を指定しない春のカスタム コンテキストの場所にあまり詳しくありません。どういう意味ですか?このテスト クラス パスには、その名前のリソースがたくさんあります。それらはすべてロードされていますか?そうでない場合、Spring はどのようにロードするかを判断しますか?
第二に、このように配線されたスプリング コンテキストにプログラムでアクセスする方法はありますか?
つまり、現在のコンテキストにアクセスできる静的な Spring クラスまたは ThreadLocal 変数はありますか?
助けてくれてありがとう。
spring - JPA Spring 3.1 をテストする最良の方法
Spring 3.1.1/JPA/Hibernate 4 Web アプリ用に、いくつかの JPA リポジトリ、サービス、およびサポート クラスを作成しました。ただし、ユニットと統合テストをいくつか書きたいと思っています (最初にそれらを書くことになっています)。XML ではなく JavaConfig を使用しているため、テストする最善の方法を考えています。私が解決しようとしている特定の問題は次のとおりです。
DataSource、JpaTransactionManager、LocalContainerEntityManagerFactoryBean、およびすべてのリポジトリを宣言する @Configuration があります。明らかに、統合テストのためにすべてを開始したくないので、EmbeddedDatabase と H2 を使用してメモリ内データベースを作成し、値を入力してから、それに対してリポジトリを使用できると考えました。ただし、私が見たドキュメントは、これをまとめるのに役立ちませんでした。私はこれを持っています:
しかし、menuRepository はインスタンス化されないため、@Configuration のテスト バージョンを作成してみました。
私のtest-applicationContext.xml
私のtest-application.properties:
ただし、これには、上記のすべてのデータソースなどを作成する必要があります。この Bean のすべてのサポート Bean を複製しているようです。
他のすべての依存関係なしに、リポジトリと組み込みデータベースをテストに分離する方法はありますか?
java - RequestMappingHandlerAdapter で Spring 3.1 を使用する場合のデフォルト コンストラクタ エラー
Spring 3.0.7 で動作するカスタム引数リゾルバーSecurityRequestParametersArgumentResolver
がありますが、Spring 3.1.2 では失敗します。スタック トレースとテスト ドライバー コードを以下に示します。
スタック トレースを見ると、SecurityRequestParametersArgumentResolver.resolve( )
が呼び出されていないようです。代わりにHandlerMethodArgumentResolverComposite.resolve
、スタック トレースに表示されます。
提案?
使用する Java コードを更新しましたHandlerMethodArgumentResolver
(それはAnnotationMethodHandlerAdapter
3.0.7 からのものでした) が、ランタイム統合テストを実行すると、このスタック トレースが表示されます。
SecuritySystemTestStartUp のテスト ドライバー コードには、@ContextConfiguration の注釈が付けられています。
postProcessAfterInitialization では、引数リゾルバー (Spring 3.0.7 と互換性があります) が使用されます。引数リゾルバーのコードの抜粋を以下に示します。
public class AnnotationMethodHandlerBeanPostProcessor extends InstantiationAwareBeanPostProcessorAdapter {
}
そして、Spring 構成で ... として指定されます。
引数リゾルバの流れは次のとおりです。
@Component public class SecurityRequestParametersArgumentResolver implements HandlerMethodArgumentResolver { @Autowired // 暗黙的にオートワイヤーされる (xml にはありません) private RequestMappingHandlerAdapter requestMappingHandlerAdapter;
}
そして最後に...これがSpring構成のアノテーション駆動型タグです
java - Springテストを使用したテストスイートの作成
私のSpring-Mavenプロジェクトでは、単体テストは基本クラスから継承しています。
その場合、典型的な単体テストは次のようになります。
この構造により、次のことが可能になります。
- 単一のテストをJUnitテストとして実行します(私のEclipse IDEから)。
- Mavenビルドを使用してすべてのテストを実行します。
Eclipse IDEからすべてのテストを実行するにはどうすればよいですか?テストスイートを作成する必要があることはわかっていますが、この構造では何らかの理由で方法がわからないようです。
ところで-私はJunit4.9を使用しています