[aws] 머스타치 테스트 오류가 생겼습니다 🥹
에러상황
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'
댓글남기기