微信小程序> SpringBoot如何进行单元测试?

SpringBoot如何进行单元测试?

浏览量:692 时间: 来源:androidstarjack

因为SpringBoot Web启动器未提供与测试相关的Jar包,比如说:Junit等测试环境,所以我们需要在进行配置。

第一步

pop.xml里面 添加相关依赖的配置:

!-- 添加 junit 环境的 jar 包 -- dependency       groupIdorg.springframework.boot/groupId      artifactIdspring-boot-starter-test/artifactId /dependency 

第二步

编写我们的dao层和业务层代码:

比如在我们的Dao层:

public interface UserService {int addUser(User user);ListUser queryUserAllList();User selectOneUserById(int id);void updateUserInfo(User user);void deleteUserInfoById(int id);} 

在业务层

@Service@Transactionalpublic class UserServiceImpl implements UserService {//这里需要注入UserMapper的代理对象@Autowiredprivate UserMapper userMapper;@Overridepublic int addUser(User user) {if(user == null){return -1;}else if(StringUtils.isNullOrEmpty(user.getName())){return -1;}// TODO Auto-generated method stubthis.userMapper.insertUserData(user);return 0;}@Overridepublic ListUser queryUserAllList() {ListUser list = this.userMapper.queryUserAllList();return list;}@Overridepublic User selectOneUserById(int id) {// TODO Auto-generated method stubreturn this.userMapper.selectOneUserById(id);}@Overridepublic void updateUserInfo(User user) { this.userMapper.updateUserInfo(user);}@Overridepublic void deleteUserInfoById(int id) { this.userMapper.deleteUserInfoById(id);}}

第三步,编写启动类

@MapperScan("com.yuer.ssmc.mapper")  //用于spring扫描MyBatids的mapping接口,根据扫描的接口来生成代理对象@SpringBootApplicationpublic class UserApp {public static void main(String[] args) {// TODO Auto-generated method stubSpringApplication.run(UserApp.class, args);}}

使用 SpringBoot 整合 Junit 做单元测试

@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest(classes={UserApp.class})public class AdminServiceTest {@AutowiredUserService userServiceImpl;@Testpublic void questTest(){ListUser list = userServiceImpl.queryUserAllList();for (User user : list) {System.out.println("姓名:"+user.getName()+"    年龄:" +user.getAge());}}@Testpublic void insertTest(){try {User user = new User();user.setName("yuer");user.setAge(29);user.setId(10);userServiceImpl.addUser(user);System.out.println("插入成功");} catch (Exception e) {e.printStackTrace();System.out.println("插入失败");}}}

最终运行结果

小程序

但是值得我们要去注意的是:
需要在我们的测试类里面添加RunWidth和SpringBootTest注解

RunWith需要制定一个SpringJUnit4ClassRunnner.class的启动器,以junit进行测试,目的是让 junit 与 spring 环境进行整

另外要加上**@SpringBootTest**,指定当前是SpringBot的测试类,并且加载启动器类UserApp并启动。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎