BDD

2019-09-17
Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 1편 Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 2편 Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 테스트 슬라이스 적용하기 개요 지난 예제들에선 간단한 Todo 예제를 만들고 개선해봤습니다.  또한 그렇게 만들어진 예제의 CRUD를 curl을 이용해 동작을 검증하였습니다.  하지만 변경 사항이 발생하였을 경우 매번 애플리케이션을 재기동 하여 잘 동작하는지 확인해야 했고 각각의 모듈이 어떤 기능을 하는지 알기 어려웠으며, 정상 수행에 대한 피드백을 빠르게 얻기 힘들었습니다. 물론 현재는 작은 규모의 프로젝트이지만 나중엔 기능을 추가하고 안정성을 강화해 프로덕션 규모의 큰 애플리케이션으로 바뀔 수도 있습니다. 이런 경우엔 테스트를 효율적으로 작성하는 전략이 중요해집니다. 이번 편에선 지난 예제를 기반으로  테스트를 작성해보면서 Spring Boot에서 지원하는...
2018-04-02
이전 포스팅 BDD(Behaviour-Driven Development)에 대한 간략한 정리에서 같이 다루려고 했던 내용이다. 하나의 클래스를 테스트하기 위해서는 그 클래스가 사용하는 다른 클래스의 실제 구현이 필요하거나 테스트 대상 클래스가 사용하는 데이터베이스 등에 대한 외부 환경이 구성되어 있어야 하는 경우가 있다. 하지만 테스트 환경에서 이를 모두 구성하는 것은 현실적으로 쉽지 않고, 테스트 실패에 대한 원인이 해당 클래스만의 문제인지, 아니면 관련된 다른 클래스의 문제인지를 찾기가 무척 어렵다. 즉, 테스트 대상 클래스의 기능만 한정 지어 테스트를 수행하기 어려운 경우가 많다. 테스트 용이성이란 말 그대로 테스트 대상을 얼마나 테스트하기 쉬운가에 대한 척도이다. 테스트 대상이 얼마나 복잡한가? 얼마나 결합도가 높은가? 등 몇 가지 내용이 있지만, 이번 글에서는 테스트 용이성에서 결합도와 Mocking 에 대한 내용만을 간단히, 이를 개선하기 위해 Dependency Injection 이 어떻게 사용되는지에 대해 설명한다. 이 글에서 Mocking 은 Mocking 객체를 의미하며 이를 간단히 말하면 실제 객체를 흉내내는 가짜 객체를 하나 만드는...
2018-03-26
단위 테스트는 단순히 테스트 코드가 아니라 리펙토링을 위한 안전망이며 코드를 설명하는 문서 역할도 한다....
더보기