单元测试—DbUnit测试

发表于:2016-10-09 11:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:没意思先生1995    来源:51Testing软件测试网采编

  测试的数据库生成文件
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
<branch id="1" name="测试1" sub_id="1"/>
<branch id="2" name="测试2" sub_id="1"/>
<branch id="3" name="测试3" sub_id="1"/>
<branch id="4" name="测试4" sub_id="1"/>
<branch id="5" name="测试5" sub_id="1"/>
<branch id="6" name="测试6" sub_id="1"/>
</dataset>
  单元测试类:BranchDaoTest
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/beans.xml")
public class BranchDaoTest extends AbstractDbUnitTestCase {
@Inject
private SessionFactory sessionFactory;
@Inject
private IBranchDao branchDao;
@Inject
private ISubjectDao subjectDao;
@Before
public void setUp() throws SQLException, IOException, DatabaseUnitException {
//此时最好不要使用Spring的Transactional来管理,因为dbunit是通过jdbc来处理connection,再使用spring在一些编辑操作中会造成事务shisu
Session s = sessionFactory.openSession();
TransactionSynchronizationManager.bindResource(sessionFactory, new SessionHolder(s));
this.backupAllTable();
IDataSet ds = createDateSet("t_beans");
DatabaseOperation.CLEAN_INSERT.execute(dbunitCon,ds);
}
@After
public void tearDown() throws DatabaseUnitException, SQLException, IOException {
SessionHolder holder = (SessionHolder) TransactionSynchronizationManager.getResource(sessionFactory);
Session s = holder.getSession();
s.flush();
TransactionSynchronizationManager.unbindResource(sessionFactory);
this.resumeTable();
}
@Test
public void testLoadByName(){
Branch branch=branchDao.loadByName("测试一");
assertEquals(branch.getId(), 1);
}
}
  测试结果
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号