Какой класс я должен наследовать, чтобы создать тест интеграции базы данных в случае Spring? - PullRequest
1 голос
/ 18 февраля 2010

Я хочу создать модульный тест для интеграционного тестирования.Какой класс я должен наследовать, чтобы иметь возможность фиксировать / откатывать транзакции?AbstractTransactionalSpringContextTests устарело.Вместо этого рекомендуется использовать AbstractJUnit38SpringContextTests, но я не могу найти, как там контролировать транзакции.

Ответы [ 2 ]

5 голосов
/ 18 февраля 2010

Проверьте это и это

Короче, вам нужно:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:/applicationContext.xml")
public class YourTest {

    @Transactional
    public void someTest() {
    }
}

Это означало бы, что вам нужен JUnit 4.x

0 голосов
/ 24 февраля 2012

Нет необходимости помещать @Transactional на уровне метода, вы можете непосредственно поместить его на уровень класса

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:applicationContext.xml")
@TransactionConfiguration(defaultRollback=true, transactionManager="transactionManager")
@Transactional
public class YourTest {

    @Rollback(true)
    public void someTest() {
    }

}
...