테스트 실행하기
select 테스트 해보기
loig in 코드를 테스트 해본다.
원본 코드
@Override
public Member selectLoginMember(SqlSession session, Member member) {
Member mOne= session.selectOne("MemberMapper.selectLoginOne",member);
return mOne;
}하세요
- 해당코드는 아이디와 비밀번호를 입력하면 로그인이 되는 코드이다.
테스트 코드
@Autowired
private SqlSession session;
@Autowired
private MemberStoreLogic store;
@Test
public void testSelectLoginMember() {
Member member= new Member();
member.setMemberId("user04");
member.setMemberPw("pass04");
Member mOne = store.selectLoginMember(session, member);
assertEquals("user04", mOne.getMemberId());
}
- 해당 클래스에는 sqlSession이 없었기때문이 테스트 클래스에서 새롭게 만들어주었다.
- 아이디와 비밀번호가 필요하기때문에 member인스탠스에 아이디와 비밀번호를 입력해준다.
- 새로운 인스탠스를 만들어 해당 코드를 실행한다
assertEquals
를 활용해 (해당결과값, 결과값을 출력할 변수)를 입력해준다.
- 여기서는 mOne
이 출력되기때문에 mOne.getMemberId()
의 값이 "user04"라면 테스트 성공이라는 코드가 짜여져있다.
update코드 테스트해보기
회원정보 수정 코드를 테스트해본다.
원본코드
@Override
public int updateMember(SqlSession session, Member member) {
int result = session.update("MemberMapper.updateMember",member);
return result;
}
- 해당코드는 해당 아이디에 정보를 update하는 코드이다
테스트 코드
@Test
public void testUpdateMember() {
Member member = new Member();
member.setMemberId("user09");
member.setMemberPw("pass99");
member.setMemberPhone("9999");
member.setMemberName("구구용자");
member.setMemberEmail("user99@user.com");
member.setMemberAddress("999번지");
int result = store.updateMember(session, member);
assertEquals(1,result);
}
- 해당 코드를 업데이트 할수 있게 member인스탠스에 업데이트할 값을 저장하였다.
int result = store.updateMember(session, member);
라는 원래 있는 코드를 실행시켜준다.
assertEquals(1,result);
반환값이 1일경우 성공으로 간주하고 테스트가 성공하게 된다.
- 실제 테이블의 값도 변경되어있다.