如何为RestController,Service和DAO层编写JUnit测试用例?
我试过MockMvc
@RunWith(SpringRunner.class)
public class EmployeeControllerTest {
private MockMvc mockMvc;
private static List<Employee> employeeList;
@InjectMocks
EmployeeController employeeController;
@Mock
EmployeeRepository employeeRepository;
@Test
public void testGetAllEmployees() throws Exception {
Mockito.when(employeeRepository.findAll()).thenReturn(employeeList);
assertNotNull(employeeController.getAllEmployees());
mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/employees"))
.andExpect(MockMvcResultMatchers.status().isOk());
}
如何验证rest控制器和其他层中的CRUD方法?
您可以使用@RunWith(MockitoJUnitRunner.class)
对服务层模拟DAO层组件进行单元测试。您不需要SpringRunner。为它设置类
。
完整的源代码
@RunWith(MockitoJUnitRunner.class)
public class GatewayServiceImplTest {
@Mock
private GatewayRepository gatewayRepository;
@InjectMocks
private GatewayServiceImpl gatewayService;
@Test
public void create() {
val gateway = GatewayFactory.create(10);
when(gatewayRepository.save(gateway)).thenReturn(gateway);
gatewayService.create(gateway);
}
}
您可以使用@DataJpaTest
与DAO层进行集成测试
@RunWith(SpringRunner.class)
@DataJpaTest
public class GatewayRepositoryIntegrationTest {
@Autowired
private TestEntityManager entityManager;
@Autowired
private GatewayRepository gatewayRepository;
// write test cases here
}
查看本文,了解有关使用Spring Boot进行测试的更多详细信息
customer-Mapper.xml daoimpl.java
如何编写一个适当的测试用例控制器,服务和道在Spring引导使用jUnit 5清楚的解释
因此,我正在进行我的第一个Spring Boot项目,我一直在进行测试。我查了很多例子,但似乎都不管用。 这是我的控制器的当前测试: 这是可行的,但在sonarqube上,我发现我的代码覆盖率为0%,而我似乎找不到一个测试,它的覆盖率甚至超过了零。有谁能给我一个关于如何为控制器编写一个好的单元测试的例子,然后我就可以根据您的例子自己解决这个问题。 这是我的控制器: 这是我的服务(以防您需要): 还
我想为RESTful API Web服务编写junit测试用例,以检查DB的响应和预期响应。这里的基本流程是REST文件(调用)- 这是我的REST文件: } 这是业务逻辑文件: } 这里的问题是如何在测试用例中提供从DB for n3获取的值,因为实际代码位于不同的数据库中,我不想清理这些数据库。因此,基本上,测试用例将在不同的空数据库上运行,在运行数据库时,我必须在测试用例执行后插入数据并清理
我正在编写一个Spring boot Rest控制器的测试。这个rest控制器将一些值写入DB。 我想使用Spring为这个测试提供的内存数据库。根据这个文档,我必须用注释测试类,这导致了这个错误: 在错误堆栈跟踪中,我看到抛出了以下异常: 的replace属性 这是我正在研究的测试类: 是什么导致了这个错误? 编辑2 我在中添加了以下内容: 我创建了,内容如下: 用户名和密码是什么?我应该把它们
我对Spring boot和JUnit是新手。我在Spring Boot中有一个Rest服务,在那里我接收请求,使用请求参数查询数据库,从查询中接收结果并将其作为响应发送。 我的控制器代码如下所示: 我的JdbcTemplate被作为一个单独类中的bean处理,如下所示 我的代码运行良好。 现在我想使用JUnit4为我的控制器编写单元测试。我使用MockMvc发送请求,但我的单元测试从未起飞。它总