stack을 직접 클래스로 구현해서 사용하는 프로젝트를 하고 있다. stack 클래스 인스턴스마다 하나의 DB를 의미하니, 테스트 시행마다 @BefroeEach를 통해 인스턴스를 주입해 DI를 시행하려고 했다. 그런데 그냥 클래스 객체를 공유해도 테스트 fail이 안 떴다.(그것 때문에 내가 테스트 코드를 잘 못 작성한줄 알고 한참을 수정했다.) 아무리 생각해도 말이 안돼서, 각 테스트마다 사용되는 stack객체의 주소를 찍어 봤다.
아니나 다를까 테스트마다 찍히는 stack 주소가 다 달랐다. 약간 멘붕이었다. 왜 다르지? 내가 어디서 부터 뭘 잘못했길래 이런 결과가..? 그러다 아주 우수한 Junit이 자체적으로 메서드마다 클래스 객체를 새로 써준것은 아닐까.. 하는 생각이 들었다.
그게 맞았다.
이제야 예상한 대로 test가 fail되고 같은 객체를 사용한다.
출처)
https://velog.io/@znftm97/JUnit5-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B03