Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 스프링 핵심 기능
- 김영한
- Spring Boot
- Servlet
- pointcut
- Thymeleaf
- 백준
- http
- 인프런
- kotlin
- spring
- Greedy
- db
- 알고리즘
- Proxy
- jpa
- 그리디
- QueryDSL
- 스프링
- transaction
- Exception
- springdatajpa
- java
- JPQL
- AOP
- JDBC
- Android
- 자바
- 스프링 핵심 원리
- SpringBoot
Archives
- Today
- Total
개발자되기 프로젝트
SessionManager Test 추가 본문
- 늦게나마 테스트를 열심히 해보자..
- 현재 Session을 생성/조회/삭제는 테스트가 구현되어 있지 않다.
1.MockHttpServletResponse/Request
- MockHttpServletResponse/Request을 사용하면 Http요청/응답을 흉내낼 수 있다.
2. Test
- SessionManger는 세 가지 기능을 제공한다.
- 세션 생성, 세션 조회, 세션 만료.
- 각 경우에 대해 테스트를 진행.
class SessionManagerTest {
SessionManager sessionManager = new SessionManager();
@Test
void testCreateAndGetSession(){
//응답으로 세션 생성하기
MockHttpServletResponse response = new MockHttpServletResponse();
Member member = new Member();
sessionManager.createSession(member, response);
//client에서 쿠키 담아서 요청을 보냄.
MockHttpServletRequest request = new MockHttpServletRequest();
request.setCookies(response.getCookies());
//서버에서 request로 넘어온 세션을 조회 및 비교
Object result = sessionManager.getSession(request);
assertThat(result).isEqualTo(member);
}
@Test
void testSessionExpire(){
//응답으로 세션 생성하기
MockHttpServletResponse response = new MockHttpServletResponse();
Member member = new Member();
sessionManager.createSession(member, response);
//client에서 쿠키 담아서 요청을 보냄.
MockHttpServletRequest request = new MockHttpServletRequest();
request.setCookies(response.getCookies());
//세션 만료
sessionManager.expire(request);
Object result = sessionManager.getSession(request);
assertThat(result).isNull();
}
}
3. 결과
- Test 성공
4. GitHub: 211017 SessionManager Test
'Project > 블로그 게시판 만들기' 카테고리의 다른 글
@AutoConfigureMockMvc, PostController Test (0) | 2021.10.19 |
---|---|
MockMVC (0) | 2021.10.18 |
This application has no explicit mapping for /error, so you are seeing this as a fallback. (0) | 2021.10.16 |
Optional (0) | 2021.10.16 |
Test 추가, gerResultList() (0) | 2021.10.16 |
Comments