SpringBoot-单元测试
来源:互联网 发布:c语言病毒吃内存 编辑:程序博客网 时间:2024/05/21 07:58
SpringBoot-单元测试
一、对service进行测试:
在service中建立要测试的方法:
@Servicepublic class GirlService { @Autowired private GirlRepository girlRepository; /** * 通过id查询一个女生的信息 * @param id * @return */ public Girl findOne(Integer id){ return girlRepository.findOne(id); }}
在test文件夹下已经有一个idea初始化项目时创建的文件GirlApplicationTests
方式一:手动建测试类
新建一个针对测试service中的方法进行测试的类GirlServiceTest:
@RunWith(SpringRunner.class) //表示在测试环境中运行@SpringBootTest //启动整个springboot工程public class GirlServiceTest { @Autowired private GirlService girlService; @Test public void findOneTest(){ Girl girl = girlService.findOne(12); Assert.assertEquals(new Integer(14),girl.getAge()); }}
方式二:利用idea工具进行测试
在要测试的方法中选中右击:
选择创建一个测试类:
可以勾选需要进行测试的方法:
选完之后会在项目的测试包下创建一个service包,service包中创建了测试类
二、对controller进行测试(API测试)
对controller中的girlList方法进行测试:
@RestControllerpublic class GirlController { /** * getLogger方法中的参数与类名对应 */ private final static Logger logger = LoggerFactory.getLogger(GirlController.class); @Autowired private GirlRepository girlRepository; @Autowired private GirlService girlService; /** * 查询所有女生 * @return */ @GetMapping(value = "/girls") public List<Girl> girlList(){// System.out.println("我是girlList方法"); logger.info("我是girlList方法"); return girlRepository.findAll(); }}
用以上同样的步骤让idea创建出测试类
需要达到该方法通过什么请求,url地址是什么进行测试:
GirlController:
@RestControllerpublic class GirlController { /** * getLogger方法中的参数与类名对应 */ private final static Logger logger = LoggerFactory.getLogger(GirlController.class); @Autowired private GirlRepository girlRepository; @Autowired private GirlService girlService; /** * 查询所有女生 * @return */ @GetMapping(value = "/girls") public List<Girl> girlList(){// System.out.println("我是girlList方法"); logger.info("我是girlList方法"); return girlRepository.findAll(); }}
GirlControllerTest:
@RunWith(SpringRunner.class)@SpringBootTest@AutoConfigureMockMvcpublic class GirlControllerTest { @Autowired private MockMvc mvc; //测试希望返回的状态码为200 @Test public void girlList() throws Exception { mvc.perform(MockMvcRequestBuilders.get("/girls")) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.content().string("abc")); //对内容进行判断,期望返回的内容是abc }}
运行结果:
注意:
对于所有的单元测试,在项目打包的时候会自动执行
希望打包的时候跳过单元测试:
mvn clean package -Dmaven.test.skip=true
阅读全文
0 0
- SpringBoot单元测试
- SpringBoot单元测试
- SpringBoot单元测试
- SpringBoot-单元测试
- SpringBoot-单元测试
- SpringBoot Junit单元测试
- Springboot 之 单元测试
- SpringBoot之添加单元测试
- 5.Springboot 之 单元测试
- Springboot 跑单元测试
- SpringBoot junit单元测试
- SpringBoot的Junit单元测试
- springboot 之单元测试:MockBean
- springboot web做单元测试
- SpringBoot进阶之单元测试
- SpringBoot 使用JUnit 单元测试
- Junit4 + MockMvc 进行单元测试,springboot controller单元测试
- springboot单元测试找不到@SpringApplicationConfiguration注解
- ajax传递的参数值包含单引号
- 【G
- 热更plist后,游戏永远无法读取或者是重启后才可以读取的
- WEB-INF下jsp引用外部的静态资源
- 0817Link
- SpringBoot-单元测试
- codeforces 428(div2) A-D
- 【《Real-Time Rendering 3rd》 提炼总结】(五) 第六章 · 纹理贴图及相关技术 The Texturing
- vue.js单文件组件中非父子组件的传值
- [HDU
- Postgresql 异步流复制 详解及配置切换
- UESTC
- 【《Real-Time Rendering 3rd》 提炼总结】(四) 第五章 · 图形渲染与视觉外观 The Visual Appearance
- ftp上传和下载