반응형
MOCK 사용이유
api 실제호출 -> 느리다
api 항상 가용인지 보장x (의존)
테스트 커버리지의 간극은 존재
생성자 DI 추천 , Autowired 비추
단위 -> @Mock - 스프링자체를 테스트 X 스프링이 우리의 요구를 잘 충족하고 지원하는지 검증
통합 -> @SpringBootTest , @MockBean
테스트에선 WAS 실행 X -> 실행시킬 순 있지만 ,WebMvcTest 추천
리팩토링 방법
assultAll() 사용으로 단언 줄이기 , 하지만 1테스트의 1개의 조건만
BeforeAll BeforeEach 사용
하위테스트 없애기 (notnull -> size >=1)
리터럴 숫자,스트링 없애기 ( 1, url등)
부푼 생성자 -> 한줄로
의미있는 given,arrange data
TDD
실패 테스트 생각하기 -> 성공 -> 리팩토링 ->
10분안에 성공 까지 못가면 폐기 후 다시
class 이름에서 Ctrl + Shift + T -> test만들기
test에서 Ctrl + Shift + F10 -> test실행
멀티 스레드 테스트 -> 스레드 / 어플리케이션 로직 구분
테스트안에서 데이터 생성/관리 OR 트랜잭션(롤백) - DataJpaTest는 디폴트로
728x90
반응형
댓글