일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- System.in
- 로컬 클래스
- 상속
- 항해99
- yield
- throwable
- Study Halle
- 제네릭 와일드 카드
- auto.create.topics.enable
- 스파르타코딩클럽
- raw 타입
- docker
- 익명 클래스
- System.out
- junit 5
- 합병 정렬
- 바운디드 타입
- 정렬
- 접근지시자
- annotation processor
- 제네릭 타입
- 자바할래
- System.err
- 함수형 인터페이스
- 브릿지 메소드
- 자바스터디
- 프리미티브 타입
- Switch Expressions
- github api
- 람다식
Archives
- Today
- Total
코딩하는 털보
11 to 9, Day 4 본문
11 to 9, Day 4
Today, ToDoList
자바 라이브 스터디
- 14주차 공부 마무리
Toy Project - NGMA
- 테스트 코드 작성
14주차 공부 마무리
드디어 마무리 하고 포스팅 완료~
https://rockintuna.tistory.com/102
테스트 코드
application.properties
왠지 테스트가 mysql에서 돌더니 진작에 했어야 했는데 이제서야 찾아서 test/resources 에 새로운 application.properties 추가해서 테스트는 H2 DB에서 실행되도록 변경하였다.
Schedule Controller 테스트 코드
@SpringBootTest
@AutoConfigureMockMvc
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class ScheduleControllerTest {
@Autowired
private MockMvc mvc;
@Autowired
private AccountService accountService;
@Autowired
private ScheduleService scheduleService;
@Autowired
private ObjectMapper objectMapper;
@BeforeAll
private void setUp() {
Account account = new Account();
account.setEmail("jilee@example.com");
account.setPassword("jilee");
Account newAccount = accountService.registerAccount(account);
Schedule schedule = new Schedule();
schedule.setTitle("book");
schedule.setOwner(account);
Schedule schedule2 = new Schedule();
schedule2.setTitle("cafe");
schedule2.setOwner(account);
scheduleService.createSchedule(schedule, newAccount);
scheduleService.createSchedule(schedule2, newAccount);
}
@Test
@WithUserDetails(value = "jilee@example.com")
public void getSchedules() throws Exception {
mvc.perform(MockMvcRequestBuilders.get("/schedules")).andDo(print())
.andExpect(status().isOk())
.andExpect(authenticated())
.andExpect(content().contentType(MediaType.APPLICATION_JSON))
.andExpect(content().string(containsString("cafe")));
}
@Test
@WithUserDetails(value = "jilee@example.com")
public void createSchedule() throws Exception {
Schedule schedule = new Schedule();
schedule.setTitle("cook");
Account account = accountService.getUserByEmail("jilee@example.com").orElse(null);
schedule.setOwner(account);
mvc.perform(post("/schedule")
.param("title", "cook"))
.andDo(print())
.andExpect(status().isOk());
assertThat(scheduleService.getOurSchedules(account.getId())
.size()).isEqualTo(3);
assertThat(scheduleService.getOurSchedules(account.getId())
.get(2).getTitle()).isEqualTo("cook");
}
@Test
public void createScheduleWithoutAuth() throws Exception {
mvc.perform(post("/schedule")
.param("title", "cook"))
.andDo(print())
.andExpect(status().isUnauthorized());
}
}
User Controller 테스트 코드 작성중 막혀서 내일부터 진행할듯하다.
Comments