오류를 개발새발
MyBatis) DeleteAll을 테스트할 때 주의하기(반환값은 0)
휴일이
2022. 11. 18. 11:51
MyBatis로 MySQL을 연결해서
DAO 테스트를 하는데
<DELETE ALL>
SELECT * FROM 테이블
을 테스트하던 도중
반환값이 1이 나와야하는데 자꾸 0이 나와서 테스트에 실패했다...
하지만 SQL문을 따로 실행하면 잘 실행이 됐다
알고보니
delete는 excuteUpdate()를 사용함에도 불구하고
DELETEALL은 반환값이 0이 되는 모양이다
assertTrue(dao.deleteAll()==1)은 false였지만
int i = dao.deleteAll 로 초기화하고 출력하면
i = 0으로 떴다
(deleteAll 값이 없는 것은 아니라는것, 0이라는 것)
다른 dao를 테스트 할 때는 잘 돌아가니까
deleteAll을 테스트하고 싶을 때에는
assertTrue(dao.deleteAll()==0) 으로 테스트를 하거나
insert같은 다른 테스트를 실행할 때
먼저 deleteAll을 실행한 후,
잘 돌아가는지 확인하는 것이 좋을 거 같다
728x90