タグ付けされた質問 「spring-test」

17
JUnitテストはEclipseでパスしますが、Maven Surefireで失敗します
JUnit 4とスプリングテストライブラリを使用して、いくつかのJUnitテストを作成しました。Eclipse内でテストを実行すると、問題なく実行され、合格します。しかし、(ビルドプロセス中に)Mavenを使用してそれらを実行すると、スプリング関連のエラーが発生して失敗します。JUnit、Surefire、Springのどれが問題の原因かはわかりません。これが私のテストコード、Spring構成、およびMavenから取得した例外です: PersonServiceTest.java package com.xyz.person.test; import static com.xyz.person.util.FjUtil.toFjList; import static junit.framework.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.transaction.annotation.Transactional; import com.xyz.person.bo.Person; import com.xyz.person.bs.PersonService; import fj.Effect; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath*:personservice-test.xml" }) @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false) …

7
春のテストで環境変数またはシステムプロパティを設定する方法
デプロイされたWARのXML Spring構成をチェックするいくつかのテストを書きたいと思います。残念ながら、一部のBeanでは、一部の環境変数またはシステムプロパティを設定する必要があります。@ContextConfigurationで便利なテストスタイルを使用する場合、Spring Beanが初期化される前に環境変数を設定するにはどうすればよいですか? @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:whereever/context.xml") public class TestWarSpringContext { ... } アノテーションを使用してアプリケーションコンテキストを構成すると、Springコンテキストが初期化される前に何かを実行できるフックが表示されません。


7
@Test後のロールバックトランザクション
まず第一に、私はこれについてStackOverflowでたくさんのスレッドを見つけました、しかしそれらのどれも私を本当に助けませんでした、それでおそらく重複した質問をすることを残念に思います。 Spring-Testを使用してJUnitテストを実行しています。コードは次のようになります。 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {}) public class StudentSystemTest { @Autowired private StudentSystem studentSystem; @Before public void initTest() { // set up the database, create basic structure for testing } @Test public void test1() { } ... } 私の問題は、自分のテストが他のテストに影響を与えないようにしたいということです。そこで、テストごとにロールバックのようなものを作成したいと思います。私はこれをたくさん検索しましたが、今のところ何も見つかりませんでした。これにはHibernateとMySqlを使用しています

5
JUnitテストクラス全体でSpringアプリケーションコンテキストを再利用する
多数のJUnitテストケース(統合テスト)があり、それらは論理的に異なるテストクラスにグループ化されています。 http://static.springsource.org/spring/docs/current/spring-framework-referenceに記載されているように、Springアプリケーションコンテキストをテストクラスごとに1回ロードし、JUnitテストクラスのすべてのテストケースで再利用できます。/html/testing.html ただし、一連のJUnitテストクラスに対してSpringアプリケーションコンテキストを1回だけロードする方法があるかどうか疑問に思っていました。 FWIWでは、Spring 3.0.5、JUnit 4.5を使用し、Mavenを使用してプロジェクトをビルドします。

6
MockMvcはSpring Boot 2.2.0.RELEASEでUTF-8文字を処理しなくなりました
新しくリリースされた2.2.0.RELEASEバージョンのSpring Boot にアップグレードした後、一部のテストが失敗しました。と思われるMediaType.APPLICATION_JSON_UTF8非推奨となっており、もはや明示的にコンテンツタイプを指定しないコントローラメソッドからデフォルトのコンテンツタイプとして返されません。 のようなテストコード String content = mockMvc.perform(get("/some-api") .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8)) .andReturn() .getResponse() .getContentAsString(); 以下に示すようにコンテンツタイプが一致しないため、突然機能しなくなりました java.lang.AssertionError: Content type Expected :application/json;charset=UTF-8 Actual :application/json .andExpect(content().contentType(MediaType.APPLICATION_JSON))今のところ問題を解決するためにコードを変更します。 しかしcontent、期待されるシリアル化されたオブジェクトと比較すると、オブジェクトに特殊文字がある場合でも不一致が発生します。この.getContentAsString()メソッドは、デフォルトでは(これ以上)UTF-8文字エンコーディングを使用しないようです。 java.lang.AssertionError: Response content expected:<[{"description":"Er hörte leise Schritte hinter sich."}]> but was:<[{"description":"Er hörte leise Schritte hinter sich."}]> Expected :[{"description":"Er hörte leise Schritte hinter sich."}] Actual :[{"description":"Er hörte …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.