当前位置: 首页> 技术文章> 软件测试之Jtest编写单元测试

软件测试之Jtest编写单元测试

软件测试之Jtest编写单元测试

  (1)单元测试的主要目的是保存所测试方法的主干流程正确;

  (2)写单元测试需要分层进行书写,每一部分的单元测试方案和策略有所不同;下面将针对dal层和biz进行说明

  1)对于dal层次使用dbFit插件、

upfile1633168583156.jpg

  首先,需要进行数据库基本配置,配置文件名为jtester.properties,放置在classspath根目录下,具体的一些配置项参见详细的实例文件;

  database.only.testdb.allowing=false  database.type=mysql  database.url=jdbc:mysql://*****/dbname  database.userName=username  database.password=password  database.schemaNames=name  database.driverClassName=com.mysql.jdbc.Driver  spring.datasource.name=****  DatabaseModule.Transactional.value.default=rollback

  第二步,需要进行数据文件的准备,这个过程中需要使用到@dbFit的WiKi语法,

  例如,为user表准备一些数据,使用wiki语法的实现为

  |connect|  |cleantable|user|  |insert|user|  |id|username|password|role|  |1|xiayy|123|manage|

  这样就就完成了数据库的一条数据准备;在具体的一个实例中按照下面的方法进行测试:

  @Test  @DbFit(when="prepare.newsChannelNav.record.when.wiki")  publicvoidtestQueryNavById(){  NewsNavDOnewsNavDO=newNewsNavDO();  newsNavDO.setId(newLong(1));  newsNavDO.setName("hello");  newsNavDO.setStatus("disable");  newsNavDOresult=newsNavDAO.queryNavById(newLong(3));  want.string(result.getName()).isEqualTo(newsNavDO.getName());  }

  完成上述的步骤就完成了dal层一个方法的测试;

  2)对于biz层的测试,需要按照下面的步骤进行测试:

  @SpringBeanByName  privateNewsChannelNavBOnewsChannelNavBO;  @SpringBeanFor  @Mocked  privateNewsChannelNavDAOnewsChannelNavDAO;  @Test  publicvoidgetNewsChannelNavById(){  newNonStrictExpectations(){  {

  //mock调用的中间结果数据

  NewsChannelNavDOnewsChannelNavDO=newNewsChannelNavDO();  newsChannelNavDO.setId(newLong(2));  newsChannelNavDO.setName("test");  newsChannelNavDO.setUrl("http://1688.com");  newsChannelNavDO.setOrdering(1);  newsChannelNavDO.setParentId(newLong(1));  newsChannelNavDAO.queryNewsChannelNavById(newLong(2));  result=newsChannelNavDO;  }  };

  //进行测试数据的判定

  NewsChannelNavDOnewsNavDO=newsChannelNavBO.getNewsChannelNavById(newLong(2));  want.string(newsNavDO.getName()).isEqualTo("test");  }

  业务逻辑层的接口测试,主要是将中间结果数据进行mock,仿照上面的过程即可。

  如需了解更多测试技术信息请关注:http://www.duoceshi.cn/深圳多测师软件与技术服务有限公司


上一篇: 软件测试之网站登录不进去,该如何排查与定位问题 ?

下一篇: 软件测试之手工测试人员如何转测试开发?

QQ技术交流群

多测师官方学习交流
556733550

加入群聊