성장하는 인삼의 지식 블로그

[Book - JUnit IN ACTION 3판] 10. Maven 3로 실행하는 JUnit 테스트

Maven의 장점은 사고의 프레임을 만들어 둔 뒤 개발자가 그 프레임 안에서 사고할 수 있도록 유도하는 것이다. Maven을 사용하는 개발자는 Maven식으로 생각하고, 작업을 수행할 수밖에 없게 된다. 대부분의 상황에서 Maven은 말도 안되는 실행을 허용하지 않는다. 이는 개발자에게 프로젝트가 어떻게 실행되어야 하는지 분명하게 안내하는 효과가...

[Book - JUnit IN ACTION 3판] 8. 모의 객체로 테스트하기

개별 메서드를 단위 테스트할 때 환경이나 다른 메서드와 격리하는 것은 확실히 좋은 목표다. 스텁을 활용하면 소스 코드를 웹 서버, 파일 시스템, 데이터베이스 등의 환경에서 격리하여 단위 테스트를 할 수 있다. 그렇다면 메서드 호출을 다른 클래스로부터 격리하는 것과 같이 조금 더 세밀한 격리를 해야 할 때는? 모의 객체를 사용하면 된다. 모의 객...

[Book - JUnit IN ACTION 3판] 7. 스텁을 활용한 거친 테스트

아래 그림과 같이 다른 클래스에 의존하는 애플리케이션이 있고, 다른 클래스 역시 또 다른 클래스나 외부 환경에 의존한다. JUnit 5를 사용해서 HTTP 서버, 데이터베이스, 물리 장비 등의 외부 리소스에 의존하는 애플리케이션을 테스트하는 방법을 알아보자. 특정한 런타임 환경에 의존하는 애플리케이션을 위한 단위 테스트를 작성하기는 매우 어렵다...

[Book - JUnit IN ACTION 3판] 6. 테스트 품질

테스트 커버리지 도구를 이용해서 테스트가 커버한 코드와 커버하지 못한 코드가 얼마나 되는지를 확인하고, 해당 테스트가 얼마나 유용한지를 계산해 보자. 그리고 TDD가 무엇인지 간단하게 알아보고 어떻게 하면 테스트하기 쉬운 코드를 작성할 수 있는지를 알아보자. 테스트 커버리지 측정하기 단위 테스트를 작성하면 애플리케이션을 변경하고 리팩터링할 때 확신...

[Book - JUnit IN ACTION 3판] 5. 소프트웨어 테스트 원칙

다양한 유형의 소프트웨어와 그러한 테스트가 애플리케이션의 생애 주기에서 수행하는 역할을 살펴보자. 이 모든 내용을 왜 다 알아야 할까? 단위 테스트는 계획과 준비 없이 되는 것이 아니기 때문이다. 최고 수준의 개발자가 되기 위해서는 단위 테스트를 기능 테스트를 비롯한 다른 테스트와 구분할 수 있어야 한다. 그렇게 단위 테스트가 왜 필요한지를 이...

© Yn3. Some rights reserved.