Я создаю один класс Spring Junit для тестирования одного из моих любимых api. Но когда я позвонил, он вернул мне 404, и тестовый пример не удался. Тест класс Junit является:Spring Junit test возвращает 404 код ошибки
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(locations={"classpath:config/spring-commonConfig.xml"})
public class SampleControllerTests {
public static final MediaType APPLICATION_JSON_UTF8 = new MediaType(
MediaType.APPLICATION_JSON.getType(),
MediaType.APPLICATION_JSON.getSubtype(), Charset.forName("utf8"));
private MockMvc mockMvc;
@Autowired
private WebApplicationContext webApplicationContext;
@Before
public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}
@Test
public void testSampleWebService() throws Exception {
mockMvc.perform(post("/sample/{userJson}", "{\"id\":\"102312121\",\"text\":\"Hi user\",\"key\":\"FIRST\"}"))
.andExpect(status().isOk())
.andExpect(jsonPath("$result", is("Hello ")))
.andExpect(jsonPath("$answerKey", is("")));
}
}
Класс RestController является:
@RestController
public class SampleController {
private static final Logger logger = LoggerFactory.getLogger(SampleController.class);
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS").create();
@Autowired private SampleService sService;
@RequestMapping(value = "${URL.SAMPLE}", method = RequestMethod.POST)
@ResponseBody
public String sampleWebService(@RequestBody String userJson){
String output="";
try{
output = sService.processMessage(userJson);
}
catch(Exception e){
e.printStackTrace();
}
return output;
}
}
Я загрузки URL-адрес строки из файла свойств. Таким образом, я не жестко закодировал URL-адрес в классе контроллера, но динамически отображал его, поэтому я загружаю файлы свойств через класс, о котором я упоминал ниже.
"URL.SAMPLE =/образец/{userJson}"
Класс, который считывает файл свойства, где определяется URL:
@Configuration
@PropertySources(value = {
@PropertySource("classpath:/i18n/urlConfig.properties"),
@PropertySource("classpath:/i18n/responseConfig.properties")
})
public class ExternalizedConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
кода ошибки 404 означает, его подключается к серверу, но не получает источник, который мы запрашивали. Может ли кто-нибудь сказать мне, в чем проблема?
Спасибо, Atul