【发布时间】:2018-07-08 19:19:31
【问题描述】:
我在我的应用程序中运行测试。当我的控制器调用它时,该服务为空。 我的控制器。测试中的 UsuarioService 为空
@RestController
@RequestMapping("/api")
public class OrdersController {
public static final Logger logger = LoggerFactory.getLogger(OrdersController.class);
@Autowired
UsuarioService usuarioService;
// Listado Usuarios
@ApiOperation(value = "listAllUsers", nickname = "listAllUsers", response = ResponseEntity.class)
@ApiResponse(code = 200, message = "Petición Correcta", response = ResponseEntity.class)
@RequestMapping(value = "/user/", method = RequestMethod.GET)
@PreAuthorize("hasAuthority('ADMIN_USER') or hasAuthority('STANDARD_USER')")
public ResponseEntity<List<Usuario>> listAllUsers() {
List<Usuario> listaUsuarios = usuarioService.findAllUsuarios();
if (listaUsuarios.isEmpty()) {
return new ResponseEntity(HttpStatus.NO_CONTENT);
}
return new ResponseEntity<List<Usuario>>(listaUsuarios, HttpStatus.OK);
}
我的服务:
@Service
public class UsuarioServiceImpl implements UsuarioService{
@Autowired
private UsuarioRepository usuarioRepository;
@Override
public Usuario findById(Long id) {
return usuarioRepository.findOne(id);
}
我的测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {JpaConfiguration.class}, initializers= YamlFileApplicationContextInitializer.class)
@WebAppConfiguration
@SpringBootTest(
webEnvironment = WebEnvironment.RANDOM_PORT,
classes = DemoApplication.class)
@ActiveProfiles("local,default")
public class DemoApplicationTests {
private MockMvc mockMvc;
@Before
public void setup() {
this.mockMvc = MockMvcBuilders.standaloneSetup(new OrdersController()).build();
}
@Test
public void givenNoToken_whenGetSecureRequest_thenUnauthorized() throws Exception {
mockMvc.perform(get("/api/user/")
.accept(MediaType.APPLICATION_JSON))
.andExpect(status().isUnauthorized())
.andExpect(jsonPath("$.error", is("unauthorized")));
}
当我运行测试 usuarioService.findAllUsuarios(); 时,usuarioService 为空。你能帮帮我吗?
我认为我的测试中缺少某些东西
【问题讨论】:
标签: spring rest api spring-boot service