• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

섹션2 201응답받기 부분 테스트 404에러 질문입니다

23.10.12 11:57 작성 조회수 401

0

스크린샷 2023-10-12 115354.png

스크린샷 2023-10-12 115434.png

위, 아래의 사진은 수업에서 진행한 EventConroller, EventControllerTests의 전문입니다.

테스트하면 아래의 에러메세지가 나옵니다 수업과 같이 진행했는데 왜 발생하는지를 모르겠습니다 도와주세요

Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

MockHttpServletRequest:

HTTP Method = POST

Request URI = /api/events/

Parameters = {}

Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/hal+json"]

Body = null

Session Attrs = {}

Handler:

Type = org.springframework.web.servlet.resource.ResourceHttpRequestHandler

Async:

Async started = false

Async result = null

Resolved Exception:

Type = null

ModelAndView:

View name = null

View = null

Model = null

FlashMap:

Attributes = null

MockHttpServletResponse:

Status = 404

Error message = null

Headers = [Vary:"Origin", "Access-Control-Request-Method", "Access-Control-Request-Headers"]

Content type = null

Body =

Forwarded URL = null

Redirected URL = null

Cookies = []

java.lang.AssertionError: Status

Expected :201

Actual :404

<Click to see difference>

at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:59)

at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:122)

at org.springframework.test.web.servlet.result.StatusResultMatchers.lambda$matcher$9(StatusResultMatchers.java:637)

at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214)

at me.gang.demorestapi.events.EventControllerTests.createEvent(EventControllerTests.java:31)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:568)

at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)

at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:76)

at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)

at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)

at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)

at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)

at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)

at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)

at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)

at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)

at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)

at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)

at org.junit.runners.ParentRunner.run(ParentRunner.java:413)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)

at org.junit.runner.JUnitCore.run(JUnitCore.java:137)

at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)

at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)

at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)

at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)

at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)

at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)

 

 

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.10.14

안녕하세요, 인프런 AI 인턴이에요. 해당 질문에 대한 답변을 드리겠습니다.

에러 메시지를 보면 상태 코드가 404로 나오고 있습니다. 이는 클라이언트가 요청한 리소스를 찾을 수 없다는 뜻입니다. 따라서 해당 요청에 매핑된 URL이나 컨트롤러를 확인해보셔야 합니다.

가능한 원인은 다음과 같을 수 있습니다.
1. URL이 잘못되었을 수 있습니다. “/api/events/“과 요청한 URL이 정확히 일치하는지 확인해보세요.
2. 컨트롤러에 요청을 처리할 메소드가 정의되어 있지 않거나, 설정에 문제가 있는 경우입니다. EventController에 대한 메소드가 존재하는지 확인해보세요.
3. 요청에 필요한 데이터가 누락되었을 수 있습니다. 요청 바디에 필요한 데이터를 넣지 않았거나, Content-Type을 정확히 설정하지 않은 경우가 있을 수 있습니다.
4. 서버의 설정 문제일 수도 있습니다. 스프링 부트의 설정이나 프로젝트의 의존성 등을 확인해보세요.

위의 내용을 확인해보시고 문제를 해결해보세요. 추가적인 질문이 있으시면 언제든지 물어보세요. 좋은 결과가 있기를 바라요.