0
У меня проблема с моим Dao-Test:Spring Dao-Test defaultRollback не работает
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"/cmn-dao-spring.xml"})
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
public class ScoreDaoTest extends TestCase {
@Autowired
private ScoreDao mScoreDao;
@Autowired
private ScoreCreator mScoreCreator;
@Autowired
private QuestionCreator mQuestionCreator;
@Override
protected void setUp() throws Exception {
super.setUp();
}
@Test
public void testLoadAllScore() throws Exception {
List<Score> lAllScore = mScoreDao.loadAllScore(0, 0);
Assert.assertTrue(lAllScore.isEmpty());
}
@Test
public void testSaveScore() throws Exception {
Question question = mQuestionCreator.createQuestion(49954854L, new Date(), "Wer bist Du?", "Jörg", "Anja", "Stefan", "Willi", 3, true, false, 1, "DE", "DE_QZ");
Assert.assertNotNull(question);
mScoreDao.saveScore(mScoreCreator.createScore(-1L, null, "Stefan", 1033, 27, "Wuhuuuu", question));
List<Score> lAllScore = mScoreDao.loadAllScore(0, 1);
Assert.assertFalse(lAllScore.isEmpty());
}
}
Каждый раз, когда я запускаю мой тестовый класс данные сохраняются на постоянной основе. Но я не хочу этого для своих тестовых классов.
Я не вижу проблемы.
Вы правы. с Transactional он работает. Большое спасибо. Просто для интереса, для чего @TransactionConfiguration? –
Чтобы указать, как Spring должна обрабатывать транзакции транзакционных тестов: какой TxManager использовать, нужно ли откатывать или совершать транзакции. –