私はユニティル(dbunitに組み込まれている)と春が初めてです。私が働いている新しい場所では、テストの一部は春であり、他のテストは春なしで unitils/dbunit を使用していることがわかります。
スプリングを使用するプッシュがあるため、次の機能をマージしようとしています。
以下を使用した春のテスト:
@RunWith(SpringJUnit4ClassRunner.class )
@ContextConfiguration(locations = { "classpath:spring-dev.xml" })
public class x(){
@Autowired
private ProfileDao profileDao;
@Test
@Rollback
@Transactional
public void shouldRetrieveProfileByUserNumber() {
Profile profile = profileDao.retrieveProfile("u1", "0000003861", null);
assertThat(profile.getUserNumber(), is("0000003861"));
}
このクラスには @RunWith(SpringJUnit4ClassRunner.class ) を使用するときに機能する @Autowired ProfileDao があります。
以下を使用した Unitils テスト:
@RunWith(UnitilsJUnit4TestClassRunner.class)
@DataSet("WEB_SERVICE_DATASET.xml")
public class ServiceExceptionTest {}
実行時にデータベースなどを正しくロードします。
私が達成しようとしているのは、これらを組み合わせて、 @RunWith(UnitilsJUnit4TestClassRunner.class) アノテーションを使用してクラスを「ユニット化」できるようにすることですが、前のクラスと同様に通常の方法でスプリングを利用することもできます。
問題は、両方とも JUnit4ClassRunner 拡張機能であるため、Spring バージョンを使用しているときにクラスをユニット化できないように見えることです。
さまざまなバリエーションを試しましたが、機能させることができませんでした。
誰でもこれを行うための適切な方法についてアドバイスできますか?
ありがとう