본문 바로가기

Homo Faber53

Spring의 AOP로 구현한 테스트 스파이(Spy) 테스트 스파이는 테스트 더블(double) 의 한 유형으로, 대상 시스템 내의 특정 컴포넌트의 간접적인 결과 호출을 검증하기 위한 장치이다. 즉, 테스트 스파이는 해당 컴포넌트의 행위를 검증하기(behaviour verification) 위한 테스트 장치라고 볼 수 있다. 테스트 스파이는 다음과 같은 상황에서 사용된다. 대상 시스템의 간접적인 결과를 검증하고자 하지만, 사전에 모든 속성의 값들을 예상할 수 없는 경우 Mock 객체를 사용해서 충분하게 예상을 하지 못한다고 생각할때 이를 보여주기 위한 검증을 필요한 경우 동등성 비교와 같은 검증시 단정(assertion) 메소드를 사용해서 제어하지 못하는 경우 테스트 스파이에 대한 구현은 해당 로직을 대상 컴포넌트로 주입을 함으로써 비즈니스 로직 수행 중에.. 2009. 12. 4.
Maven에서 Flexmojo 사용하기 기존 Maven : The Definitive Guide에는 없던 내용이 온라인 상으로 추가되었다. 다음은 http://www.sonatype.com/books/maven-book/reference/flex-dev.html 에 있는 원문을 참조하여 번역한 내용이다. 19장. Flexmojo로 개발하기 19.1 개요 이 장은 Flex 애플리케이션과 라이브러리를 개발하기 위해 Maven을 사용하는데 사람들이 관심있는 Flexmojo 프로젝트에 대한 개요를 제공한다. 19.2 Flexmojo의 빌드 환경 설정 Maven으로 Flex 라이브러리와 애프리케이션을 컴파일하기 전에, 다음의 두가지 설정 작업이 필요하다. Flex 프레임워크를 포함하는 레파지토리를 참조하도록 Maven Settings 설정 Flex 단.. 2009. 10. 8.
8장. POM 최적화와 리팩토링 3부: Maven 참고 Maven은 여러 도움이 되는 참고 소개자료 이상을 필요로 한다. 이 절은 이해가 되는 참고 자료를 제공한다. 8.1. 소개 7장에서 전체적인 기능 다중 모듈 빌드를 만드는데 여러 Maven들이 어떻게 같이 작용하는지를 살펴보았다. 해당 장의 예제가 실제 어플리케이션을 제시했지만 – DB와 상호작용하는 것, 두개의 인터페이스를 제공하는 웹 서비스, 웹 어플리케이션, 명령행에 대한 프로젝트 - 해당 에제 프로젝트는 여전히 예시용이다. 실제 프로젝트의 복잡성을 표현하려면 현재 읽고 있는 것보다 더 많은 분량의 책이 필요할 것이다. 실세계의 어플리케이션은 수년 동안 변화하며 많은 여러 팀의 개발자에 의해서 각각 서로 다른 초점을 가지면서 종종 운영된다. 실세계 프로젝트에서 다른 사람의 .. 2009. 10. 6.
비즈니스 컴포넌트와 데이터 ownership 비즈니스 컴포넌트의 내부 구조는 레이어드 방식보다는 크로스 레이어드 방식을 선호한다. 그러한 성질로 인해서 컴포넌트 간의 의존관계는 상당히 중요한 정보로써 관리되어야 하며, 이는 컴포넌트 방식으로 중요 비즈니스 로직을 구성할 경우, 지속적으로 모니터링이 되어 해당 컴포넌트 간의 의존관계가 비즈니스적인 의미가 있게 구성되어야 한다. 따라서, 이를 위해서는 당연히 데이터에 대한 ownership 문제가 제기되지 않을 수 없으니, 논리적인 데이터 모델 뿐만 아니라, 물리적으로 무결성을 위해서 테이블 간에 많은 FK를 통해 연결된 데이터베이스 구조의 성격상 ownership을 나누기는 여간 불편한게 아닐게다. 컴포넌트의 의존관계를 관리할 수 있는 수준이라면, 당연히 데이터의 ownership을 지정하여 관리하도.. 2009. 10. 5.
반응형