在我的应用程序中,我有一个基于给定模式的 Controller :
public class Controller {
@Autowired
Mapper mapper;
@Autowired
Service service;
public EntityDto create(EntityDto dto) {
Entity entity = mapper.mapToEntity(dto);
Entity saved = service.save(entity);
return mapper.mapToDto(saved);
}
测试此类的好方法是什么?我看到了一些可能性:
- 使用 Mockito 模拟所有内容并检查从一个模拟中检索到的对象是否传递给另一个模拟
- 在运行的 Spring 上下文中进行集成测试
- 跳过 Controller 的测试,因为它不包含业务逻辑
以上任何一项都可以吗?也许其他方式?
最佳答案
我假设你正在使用 Spring boot 应用程序,你可以在测试包下编写你的测试类,如下所示:
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = AppConfig.class)
public class TestController {
@Autowired
Controller controller;
@Test
public void test() {
fail("Not yet implemented");
}
@Test
public void testGroupAlert() throws EntityNotFoundException, Exception {
Entitydto dto = new Entitydto() //Initialize your Entitydto object
controller.create(dto);
}
关于java - Spring Controller单元测试最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54692043/