본문 바로가기
오류를 개발새발

MyBatis) DeleteAll을 테스트할 때 주의하기(반환값은 0)

by 휴일이 2022. 11. 18.

 

 

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