@RunWith(value = SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:spring-*.xml" })
//@TestExecutionListeners(listeners = { DependencyInjectionTestExecutionListener.class,
// TransactionalTestExecutionListener.class })
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
@Transactional
public class TestUserInfoDao extends AbstractTransactionalJUnit4SpringContextTests {
@Autowired
UserInfoMap userInfoMap;
@Test
public void testFindOne() throws IOException {
UserInfo userInfo = new UserInfo();
userInfo.setId(2l);
;
UserInfo userInfoSelected = userInfoMap.selectUserInfo(userInfo);
System.out.println(userInfoSelected.toString());
}
@Test
public void testInsert() {
UserInfo userInfo = new UserInfo();
userInfo.setName("test");
userInfo.setAge(27);
userInfo.setSex(0);
userInfoMap.insertUserInfo(userInfo);
}
}
spring事务配置
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
使用spring-test做单元测试
如果需要事务的支持
1.使用 AbstractTransactionalJUnit4SpringContextTests类默认支持事务
2.使用AbstractJUnit4SpringContextTests需要添加监听器的配置
@TestExecutionListeners(listeners = { DependencyInjectionTestExecutionListener.class,
TransactionalTestExecutionListener.class })