testing

테스트 주도 개발 실천

October 31, 2017 Dev

테스트 주도 개발 실천 테스트 주도 개발(test-driven development)은 점진적으로 코드를 검증하는 소프트웨어 개발 방법이다. 자신이 작성한 코드의 동작을 직접 확인하는 것은 어쩌면 프로그래머의 기본 미덕이고 테스트 주도 개발은...

비공개 메서드를 테스트 해야 하는가?

September 29, 2017 Opinion

TDD(Test-Driven Development, 테스트 주도 개발)에 익숙하지 않은, 개체지향 프로그래밍 언어를 사용하는, 프로그래머들은 간혹 이런 질문을 한다. 비공개(private) 메서드도 테스트 해야 하는가? 이 질문의 대답은 ‘그렇다’ 또는 ‘아니다’보다 좀...

싱글턴은 정적이지 않다.

July 5, 2017 Dev

얼마전 페이스북에서 많은 Java 프로그래머들이 당연시하게 기록자(logger)를 정적(static)으로 사용하는 것을 비판했는데 비슷한 주장을 하는 다른 분의 글에서 기록자는 인스턴스 범위(scope)에 있지 않다는 반론을 발견했다. 나는 반론 제기자에게 그것은...

MVVM 아키텍처 패턴

March 5, 2017 Dev

MVVM(Model/View/ViewModel) 패턴은 UI를 가지는 응용프로그램을 위한 아키텍처 패턴(architectural pattern)이다. MVVM 패턴은 MVC(Model/View/Controller) 패턴의 변형으로 뷰의 추상화를 만드는 것이 핵심이다. 뷰의 추상화는 재사용할 수 있고(reusable) 테스트하기 쉽다(testable). 뷰의 추상화를...

두렵다면 테스트를 작성하라

February 20, 2017 Dev Opinion

얼마전 페이스북에서 다음과 같은 코드에서 null 여부 검사가 필요한지 의견을 묻는 글을 발견했다. public void MyCode(string param) { if (param != null && TheirCode(param)) DoSomething(); }   나는...

좋은 디자인과 테스트하기 쉬운 디자인

January 13, 2017 Opinion

TDD와 관련된 오해 중 가장 심각한 것은 단위 테스팅과 TDD를 구별하지 못하는 것입니다. 그리고 또 다른 오해가 ‘좋은 디자인’과 ‘테스트하기 쉬운 디자인’의 관계에서도 발견됩니다. 좋은 디자인이 테스트하기 쉽다는...

Assert: Node.js 테스트 모듈

May 9, 2016 Code

요즘은 TDD니, BDD니 해서 테스트의 중요성이 더 없이 강조되고 있다. 워낙 많이 언급되다 보니 여지껏 테스트 코드를 작성할 일이 없었던 나도 조금은 공부해야겠다는 생각이 들었다. 방대한 라이브러리를 품고...

테스트하기 어려운 코드라는 6가지 신호

August 18, 2015 Blog

최근에 의존성 주입을 알게되어서 (신나서?) 마구마구 의존성을 주입하다보니 한 클래스를 생성하는데에 너무 많은 의존성을 주입하는 경우가 생기더군요. 가장 많은 건 13개까지… 그래서 과연 내가 잘하고 있는 것이 맞나...

Laravel 컨트롤러 테스트 작성 요령

June 7, 2015 Blog

테스트를 작성할 때 무엇을 테스트 할 것인지를 결정하는 것이 참 어려운 것 같습니다. Jeffrey Way 의 조언을 따르니 컨트롤러 테스트 작성에 꽤 도움이 되네요. “Controller tests should verify...