스프링 테스트코드에서 주의할 점

양말·2024년 6월 15일
0

SpringTestCode

목록 보기
5/10
post-thumbnail

private를 테스트하고 싶다면

https://shoulditestprivatemethods.com/

설계가 잘못된 것입니다.

테스트하고 싶은 것을 클래스로 분리하여 public으로 만들어야 합니다.

DI, DIP를 적용해서 해결해 보자면

public interface UuidHolder {
	String randomUuid();
}
public class systemUuidHolder implements UuidHolder {
	@Override
    public String randomUuid() {
    	return UUID.randomUUID().toString();
    }
}
public class MockUuidHolder implements UuidHolder {
	private String uuidString;
    
	public MockUuidHolder(String uuidString) {
    	this.uuidString = uuidString;
    }
    
	@Override
    public String randomUuid() {
    	return uuidString;
    }
}

테스트에서는 DRY < DAMP

테스트에서는 중복이 있더라도 가독성이 좋은 것이 낫습니다.

DRY: 중복이 없는 코드
DAMP: 서술적이고 의미있는 문구

테스트에는 논리 로직은 피하세요

+, for, if와 같은 논리를 넣지 마세요

테스트는 직관적이고 바로 이해 가능해야 합니다.

질문하기

스터디 정말 기대가 되네요~
스프링 프로젝트를 해본 적도 없는데 이해가 잘 되는 명강의입니다

profile
코끼리

0개의 댓글