jUnit test시에 - 인스턴스변수가 계속 null이 뜨는 거다. 왜지 -
이건 분명 jUnit프레임워크 동작원리에 의한것이다 생각.
JUnit은 매번 테스트 시마다 클래스가 새로 생성된다.
내가 만든 User객체 - (인스턴스 변수) 도 그때마다 새로 생성되어서.
Assert를 하는데 null이 뜬다던지 size가 맞지 않는다던지 하였다.
음!!!
실험결과
@Before 어노테이션에 뭔가 문제가 있다.
@Test어노테이션을 걸어서 Assert하면 예상한 결과가 나오는데
@Before을 부르니까 - add () 해서 insert했을때 계속 insert가 하나 밖에 안된다??
좀더 JUnit에 대해 공부해야겠음!!!
그리고 인스턴스 변수를 - 각각의 테스트 메소드끼리 공유하지 못한다는 것도 알았다. stateless한 객체 (@Autowired로 넣을수있는, 스프링 빈 같은 애들은 애초부터 무상태니까 괜찮지만) 가 아니면. 인스턴스 변수를 JUnit테스트 메소드에서 건너건너 쓰면 안된다.
하긴 그렇다. 각각의 테스트는 서로에게 영향을 끼치면 안되니까. TDD좀더 공부해야지.
댓글 없음:
댓글 쓰기