У меня есть следующий код в одном из моих контроллеров:Как избежать «кругового обзора путь» исключение с тест Spring MVC
@Controller
@RequestMapping("/preference")
public class PreferenceController {
@RequestMapping(method = RequestMethod.GET, produces = "text/html")
public String preference() {
return "preference";
}
Я просто пытаюсь проверить его с помощью теста Spring MVC следующим образом :
@ContextConfiguration
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
public class PreferenceControllerTest {
@Autowired
private WebApplicationContext ctx;
private MockMvc mockMvc;
@Before
public void setup() {
mockMvc = webAppContextSetup(ctx).build();
}
@Test
public void circularViewPathIssue() throws Exception {
mockMvc.perform(get("/preference"))//
.andDo(print());
}
Я получаю следующее исключение:
круговой путь вид [предпочтение]: снова вернется к текущему URL-адресу обработчика [/ предпочтения]. Проверьте настройку ViewResolver! (Подсказка: Это может быть результат неустановленного зрения, из-за вид по умолчанию поколения имени.)
Что я нахожу странным, что он отлично работает, когда я загрузить «полную» конфигурацию контекста что включает в себя шаблон и вид арбитр, как показано ниже:
<bean class="org.thymeleaf.templateresolver.ServletContextTemplateResolver" id="webTemplateResolver">
<property name="prefix" value="WEB-INF/web-templates/" />
<property name="suffix" value=".html" />
<property name="templateMode" value="HTML5" />
<property name="characterEncoding" value="UTF-8" />
<property name="order" value="2" />
<property name="cacheable" value="false" />
</bean>
Я хорошо знаю, что префикс, добавляемый в шаблоне распознавателе гарантирует, что не «круговой обзор путь», когда приложение использует этот шаблон распознаватель.
Но как я должен тестировать свое приложение с помощью теста Spring MVC? Кто-нибудь понял?
Можете ли вы разместить «ViewResolver», который вы используете, когда он не работает? –
@SotiriosDelimanolis: Я не уверен, что какой-либо viewResolver используется Spring MVC Test. [документация] (http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/testing.html#spring-mvc-test-framework) – balteo
У меня была та же проблема, но проблема была в том, что я не добавил ниже зависимости. org.springframework.boot весна-загрузка-стартер-thymeleaf –
aamir