ahastudio / fastcampus-eatgo

패스트캠퍼스 온라인 강의 스프링 부트 프로젝트 - 레스토랑 정보 확인 및 예약 시스템 구축하기
https://j.mp/2PWvF8T
135 stars 40 forks source link

7강에서 자꾸 오류가 나서 진도를 나갈 수가 없습니다. #63

Open kxmxxnxx opened 4 years ago

kxmxxnxx commented 4 years ago

소스 코드를 똑같이 썼는데 왜 대체 계속 에러가 날까요ㅠㅠ

소스코드는

package kr.co.fastcampus.eatgo.interfaces;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;

import static org.hamcrest.core.StringContains.containsString;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

@RunWith(SpringRunner.class)
@WebMvcTest(RestaurantController.class)
public class RestaurantControllerTest {

    @Autowired
    private MockMvc mvc;

    @Test
    public void list() throws Exception {
        mvc.perform(get("/restaurants"))
                .andExpect(status().isOk())
                .andExpect(content().string(
                        containsString("\"id\": 1004")
                ))
                .andExpect(content().string(
                        containsString("\"name\":\"Bob zip\"")
                ));

    }
}

이고

에러는

java.lang.AssertionError: Response content
Expected: a string containing "\"id\": 1004"
     but: was "[{"name":"Bob zip","address":"Seoul","id":1004,"information":"Bob zip in Seoul"}]"
<Click to see difference>

이렇게 납니다ㅠㅠ

++ 올려주신 소스코드 복붙하면 돌아가긴 하는데, 뭐가 다른 건지 잘 모르겠습니다.

그리고 올려주신 소스코드로 돌아가긴 하는데 localhost 연결이 안 됩니다ㅠㅠ

chulphan commented 4 years ago
        .andExpect(content().string(
                containsString("\"id\": 1004")
        ))

: 와 1004 사이에 공백을 제거하고 다시 시도해보시겠어요??

ahastudio commented 3 years ago

바로 위에 남겨주신 답변이 정확합니다.