简体   繁体   English

Spring数据存储库未在测试用例类中注入@Mock返回null?

[英]Spring data repository not injecting with @Mock in test case class returns null?

Repository object not injecting in testcase class. 存储库对象未注入测试用例类中。 Here is my below test class code 这是我下面的测试课程代码

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classesExternalProviderMain.class)
@ActiveProfiles(ApplicationConstants.DEVELOPMENT_PROFILE)
@WebAppConfiguration
public class EmployeeServiceTest {
@InjectMocks
EmployeeService employeeService; //not injected null 
@Mock
EmployeeRepository employeeRepository;//not injected null
@Test
public void testEmployee() {
    Mockito.when(employeeRepository.findByName(Stringname)).thenReturn(getEmployee());
    List<Employee> resultedTrackbles = employeeService.getEmployeeByName("mike");
}
private List<Employee> getEmployee(){
//here is the logic to return List<Employees>
}
}

Can you please help me how to inject my "EmployeeRepository" and Do need to write any additional logic. 您能帮我如何注入我的“ EmployeeRepository”吗,还需要编写任何其他逻辑吗?

That's because you are running your test with SpringJUnit4ClassRunner and not with MockitoJUnitRunner . 那是因为您使用SpringJUnit4ClassRunner而不是MockitoJUnitRunner运行测试。

The mocks need to be initialized with MockitoAnnotations.initMocks : 需要使用MockitoAnnotations.initMocks初始化MockitoAnnotations.initMocks

@Before
public void init() {
    MockitoAnnotations.initMocks(this);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM