에러상황

2023-10-12T15:51:08.090+09:00  INFO 38946 --- [o-auto-1-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
index

java.lang.AssertionError: 
Expecting actual:
  "{"timestamp":"2023-10-12T06:51:08.114+00:00","status":404,"error":"Not Found","path":"/"}"
to contain:
  "스프링부트로 시작하는 웹 서비스" 
	at cho.omi.aws.awsspringbootwebservice.web.IndexControllerTest.메인페이지_로딩(IndexControllerTest.java:22)
@Controller
public class IndexController {
    @GetMapping("/")
    public String index(){
        System.out.println("index");
        return "index";
    }
}

분명 컨트롤러까지 요청이 갔는데 page not found로 404 에러가 떨어지는 상황입니다. 로컬로 실행해서 브라우저로 요청하면 되는데 테스트 코드에서만 안됩니다.

application.yml을 이용해 고쳤다는 글

아래 코드 적용 안해도 결과는 같습니다. 아래의 경우는 폴더와 확장자가 mustache 지원이 아닐경우에만 해당됩니다.

mustache:
    suffix: .html
    prefix: classpath:/templates/

compileOnly

스프링부트를 올리면 index.mustache를 읽고 테스트 할 땐 안읽고.. 생각해보니 테스트할 때 의존성이 없어서 머스태치를 인식하지 못하는구나 생각했습니다.


compileOnly 'org.springframework.boot:spring-boot-starter-mustache'
testImplementation 'org.springframework.boot:spring-boot-starter-mustache'

댓글남기기