생애 첫 Spring 프로젝트! 그리고 JUnit! JUnit으로 단위 테스트를 작성하는데 @BeforeAll 어노테이션이 static 함수에만 적용이 된다. 인스턴스 함수에 적용해서 테스트 케이스에 해당하는 액션이 아닌 공통된 준비 단계들, 예를 들면 TCP 서버와
오늘은 테스트 시나리오를 작성하는 기본 개념에 대해 정리해 보려고 한다.먼저 아래와 같은 요구사항이 있다고 하자.요구사항 1- 현재 컴퓨터의 CPU 사용량을 화면에 표시해야 한다. 위 요구사항에 대한 테스트 시나리오를 누군가 작성해 보자. 프로그램 메인화면에서 시스템
아래의 LINE 엔지니어링 블로그 글을 읽고 정리합니다.
부제 : 빠르게 성취하고, 여러개의 만족을 얻는 코드 작성법
최근에 백엔드 개발자들과 테스트에 대한 이야기를 나누다보면 Mocking에 대해 어떻게 생각하는지, 또는 Mock을 써도 되냐 안되냐 같은 질문을 종종 접합니다. 사실 Mock이 무엇을 의미하는지 몰라서 사전을 찾아보니 ‘가짜의’, ‘모의의’ 이런 뜻이네요. 그러고 보
MockBean을 활용해 서비스 코드의 변경 없이 의존객체의 동작을 쉽게 고정할 수 있어서 좋았습니다. 그러나 설계를 개선해 MockBean을 없애는게 더 나은 방법이었습니다.
테스트 케이스에서 명령-응답 동기화 및 타겟 시스템 상태 폴링(Polling)을 통한 테스트 실행 시간 단축기
그는 내 말을 무시했거나, 불성실 했던 것이 아니고 잘 몰라서 그랬던 거였습니다. 그래서 내가 잘못 가정했던 당연한 것들을 가르쳐 줘야 겠다고 생각했습니다.
토비의 스프링 5장 서비스 추상화를 읽고 테스트와 관련된 내용을 별도로 정리합니다.최근에 테스트 대역이라는 용어를 처음 접했다. 여기서 사용된 '대역'이라는 용어의 뜻은 '배우가 맡은 역할을 사정상 할 수 없을 때에 다른 사람이 그 역할을 대신 맡아 하는 일. 또는 그
최근에 배운 동등분할과 경계값 테스트라는 개념을 현업에 적용해 보았다. 동등분할이란, 동일한 결과를 내는 입력들을 하나의 그룹으로 묶어서 입력 그룹의 대표 값을 정해 테스트하는 것을 의미한다. 경계값 테스트를 이어서 적용하면 동등분할로 구분된 각 입력 그룹에서 경계에
테스트의 일관성과 속도 두 마리 토끼 잡기
Java의 대표적인 Mock 프레임워크인 Mockito에서 제공하는 핵심 기능들에 대한 학습테스트 코드를 작성합니다. 우선 테스트를 위해 테스트 대상 클래스(TestTarget)와 목킹 대상이 될 협력 클래스(Collaborator) 그리고 둘 간에 주고 받을 메시지
서비스 추상화와 목(Mockito) 프레임워크 활용
최근 몇 년 간 비동기 시스템에서 코드를 작성하고 테스트하는 일이 많아졌습니다. 어느 날 테스트 코드를 작성하고 있는데 테스트 코드에서 비지니스 로직을 표현하는 코드 보다 비동기적인 처리를 위한 기술적인 코드들이 더 많은 것이 눈에 띄었습니다. 다음 예제 코드는 상점에
비동기적으로 동작하는 코드를 테스트 하기 위해서는 시간이라는 변수를 다룰 수 있어야 합니다. 크게 아래 3가지 범주의 요구가 있습니다.
하나의 큰 기능을 구현하면서 단계 단계 내부 구현을 테스트 코드로 만들어 검증해 보았다. 확실히 큰 덩어리를 테스트 하는 것 보다 일이 단순하고 점진적으로 완성해 나갈 수 있어서 좋다. 그런데 나중에 기능 구현을 완성하고 보니 잠깐 몇 일 사이에 내부 구현 방향이 처음