0
我想通过junit测试来测试我的服务层。除插入外,每件事都按预期工作。春季冬眠 - 无法测试插入
这是我的插入配置的测试用例:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:spring-servlet.xml"})
@TransactionConfiguration(transactionManager="transactionManager",defaultRollback=true)
public class TestUserAccountDao {
@Autowired
UserAccountService userManager;
UserAccount newUser;
@Before
public void init() {
newUser = new UserAccount();
newUser.setUsername("TestUser");
newUser.setEmail("[email protected]");
newUser.setPassword("123456");
}
@After
public void tearDown() {
//userManager.remove(newUser);
newUser = null;
}
/** test: void add(UserAccount)
* */
@Test //@Transactional
public void testAdd() {
System.out.println(newUser);
userManager.add(newUser);
/*Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
session.save(newUser);
session.getTransaction().commit();
session.close();*/
}
我有,当我参与userManager.add(NEWUSER),该UserAccount犯规坚持到数据库的问题。但如果我改用纪念会议,它完美的作品。我不认为我的spring-servlet.xml有任何问题,因为我可以成功测试其他方法,并且我没有做任何关于add()的简单事情,只是简单地使用session.save(UserAccount)。
这是我得到的堆栈跟踪:
INFO | 2014-09-05 10:12:43,268 | TransactionalTestExecutionListener.java | 298 | Rolled back transaction after test execution for test context [[email protected] testClass = TestUserAccountDao, testInstance = [email protected], testMethod = [email protected], testException = [null], mergedContextConfiguration = [[email protected] testClass = TestUserAccountDao, locations = '{classpath:spring-servlet.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]]
INFO | 2014-09-05 10:12:43,271 | TransactionalTestExecutionListener.java | 276 | Began transaction (2) for test context [[email protected] testClass = TestUserAccountDao, testInstance = [email protected], testMethod = [email protected], testException = [null], mergedContextConfiguration = [[email protected] testClass = TestUserAccountDao, locations = '{classpath:spring-servlet.xml}', classes = '{}', contextInitializerClasses = '[]', activeProfiles = '{}', contextLoader = 'org.springframework.test.context.support.DelegatingSmartContextLoader', parent = [null]]]; transaction manager [[email protected]8598a4f]; rollback [true]