본문 바로가기
Spring

SET의 위험성!

by wjdtmdgjs 2024. 9. 13.

Testcode를 작성중 코드의 간소화를 위하여 새로운 파일에 final static 으로 변수들을 저장해 두었지만,

왜인지 모르겠으나 자꾸 에러가 났다.

자꾸 final static으로 선언해놓았던 변수들이 값이 다르게 들어가는가...

왜 단위테스트 때는 에러가 안나는데 전체 테스트에서는 에러가 나는걸까..?

 

Todo todo = TEST_TODO1;
ReflectionTestUtils.setField(todo,"user",null);

 

요놈이 문제였따!!!!!!

 

심지어 이런게 2개나 있었따!!!!

 

단위 테스트에서는 작동이 안해서 안바뀌었지만 전체 테스트를 하면서 순서가 정해지지 않고 테스트들이 실행되다보니

setfield가 작용해 변수를 바꿔 놓아버린 것이다.

 

AuthUser authUser = new AuthUser(1L,"a@aa.com",UserRole.USER);

바꿀일이 있는것은 새로 생성해서 사용하자!

'Spring' 카테고리의 다른 글

Spring Batch  (2) 2024.11.20
Spring Batch란 ??  (1) 2024.10.26
TestCode  (0) 2024.09.12
웹개발 필수지식 정리  (1) 2024.08.28
JWT  (0) 2024.08.21