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
'오류를 개발새발' 카테고리의 다른 글
JPA) Table 'DB이름.hibernate_sequence' doesn't exist (0) | 2022.12.21 |
---|---|
MyBatis) 동적 쿼리가 안 돌아가다? (원인은 단순한 곳에) (0) | 2022.11.23 |
Spring) ajax에서 JSON으로 값이 전달되지 않았던 이유 (0) | 2022.11.15 |
Spring) @Autowired 한 객체가 왜 null값이 뜰까?(sqlsession null) (0) | 2022.11.14 |
예외 해결) 저는 nullPointException이 싫어요 (1) | 2022.11.03 |