Don*_*ert 6 mockito spring-boot
我正在扩展基本的Spring Boot示例,向我的控制器添加"自动连接"存储库依赖项.我想修改单元测试以为该依赖注入Mockito模拟,但我不确定如何.
我原以为我可以这样做:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MockServletContext.class)
@WebAppConfiguration
public class ExampleControllerTest {
private MockMvc mvc;
@InjectMocks
ExampleController exampleController;
@Mock
ExampleRepository mockExampleRepository;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
mvc = MockMvcBuilders.standaloneSetup(new ExampleController()).build();
}
@Test
public void getExamples_initially_shouldReturnEmptyList() throws Exception {
mvc.perform(MockMvcRequestBuilders.get("/example").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(content().string(equalTo("[]")));
}
}
Run Code Online (Sandbox Code Playgroud)
但它并没有将模拟注入到MockMvc.任何人都可以解释如何使用@Autowired依赖项,而不是构造函数参数?
请使用@RunWith(MockitoJUnitRunner.class)而不是@RunWith(SpringJUnit4ClassRunner.class)
你必须使用ExampleController exampleController;注入的模拟字段而不是创建一个新的mvc = MockMvcBuilders.standaloneSetup(new ExampleController()).build();
| 归档时间: |
|
| 查看次数: |
5670 次 |
| 最近记录: |