리팩토링4 테스트 코드 개선하기 - 테스트 리팩토링 하기 (+ 예제) 테스트 코드 개선하기 - 테스트 리팩토링 하기 (+ 예제) xUnit 테스트 패턴 - 제라드 메스자로스 - 0장 테스트는 애자일 개발 프로세스에서 금방 병목이 될 수 있다. 간단하고 알기쉬운 테스트와 복잡하고 무디며 유지 보수하기 어려운 테스트는 생산성에서 엄청난 차이가 있다. 예시를 통해 실제적으로 어떻게 테스트 코드를 개선할지에 대한 예시를 같이 알아보자. 복잡한 테스트 최초 코드는 다음과 같다. public void testAddItemQuantity_severalQuantity_v1(){ Address billingAddress = null; Address shippingAddress = null; Customer customer = null; Product product = null; Invoi.. 2023. 9. 26. 테스트는 왜 해야하고 어떻게 해야할까 테스트를 왜 해야하고 어떻게 해야할까? xUnit 테스트 패턴 - 제라드 메스자로스 - 0장 리팩토링 4장에서 마틴 파울러는 다음과 같이 이야기 했다. 프로그래머가 업무 시간을 어떻게 보내는지를 살펴보면 사실 코드를 짜는 시간은 얼마 되지 않는다는 사실을 알게 될 것이다. 뭐가 어덯게 돌아가야 하는지를 찾아보거나 설계를 하기도 하지만 업무 시간의 대부분은 디버깅으로 보낸다. 프로그래머라면 누구나 몇 시간, 아니 밤새 디버깅해본 경험이 있을테고 이런 힘든 디버깅에 대한 무용담쯤은 하나씩 늘어놓을 수 있다. 버그 수정이야 보통 금방이지만 버그 찾기는 죽음이다. 게다가 버그 하나 고치고나면 꼭 다른 버그가 생기기 마련이고, 한참 후에야 그걸 알게 된다. 그러면 또 그 버그를 찾느라 온종일을 날려먹게 된다. 피.. 2023. 9. 26. 7장 가치 있는 단위 테스트를 위한 리팩터링 - 리팩터링할 코드 식별하기 단위테스트 (블라디미르 코리코프) 7장에서 다루는 내용 - 네 가지 코드 유형 알아보기 - 험블 객체 패턴 이해 - 가치 있는 테스트 작성 1. 리팩터링할 코드 식별하기 기반 코드를 리팩토링 하지 않고서는 테스트 스위트를 크게 개선할 수 없다. * 테스트 스위트(test suite) 소프트웨어 프로그램을 테스트하여 특정 동작 집합이 있음을 보여주기 위한 테스트 케이스 모음 a collection of test cases that are intended to be used to test a software program to show that it has some specified set of behaviors. 테스트 코드와 제품 코드는 본질적으로 관련돼 있기 때문에 다른 방도는 없다. 1.1 코드의 네.. 2023. 7. 18. 6장 단위 테스트 스타일 - 스타일 비교 단위테스트 (블라디미르 코리코프) 아래 내용에서 이어지는 글입니다. https://jonghoonpark.tistory.com/43 2. 단위 테스트 스타일 비교 좋은 단위 테스트의 4대 요소를 중심으로 각각의 단위 테스트 스타일 비교 [Note] 좋은 단위 테스트의 4대 요소 는 다음과 같다. - 회귀 방지 - 리팩터링 내성 - 빠른 피드백 - 유지 보수성 2.1 회귀 방지와 피드백 속도 지표로 스타일 비교하기 회귀 방지 지표는 특정 스타일에 따라 달라지지 않는다. 회귀 방지 지표는 다음 세 가지 특성으로 결정된다. - 테스트 중에 실행되는 코드의 양 - 코드 복잡도 - 도메인 유의성 어떤 스타일도 이 부분에서 도움이 되지는 않는다. 따라서 크게 연관이 없다. 다만 통신 기반 스타일의 경우에는 남용하면.. 2023. 7. 12. 이전 1 다음