본문 바로가기

Homo Coding15

테스트 DB 스키마 관리 Unitils에서는 테스트 DB 스키마를 관리할 수 있는 메커니즘을 제공한다. 이는 다음과 같은 속성을 통해 설정할 수 있다. updateDataBaseSchema.enabled=true dbMaintainer.script.locations=scripts dbMaintainer.autoCreateExecutedScriptsTable=true dataSetStructureGenerator.xsd.dirName=target/xsd 위의 속성에서 dbMaintainer.script.locations=scripts은 DDL 이 위치하는 디렉토리를 의미하며, 통상 maven 환경에서 src/test/resource 하위에 scripts 라는 디렉토리 밑에 확장자가 .sql 이나 .ddl 로 저장된 파일이 위치하게.. 2009. 11. 12.
테스트 데이터 관리 Unitils (버전 2.4 기준)에는 테스트 데이터 관리를 위해 dbunit 방식의 XML 형태로 관리를 한다. 하지만, DB 데이터를 XML로 변환하는 작업이 수반되어야 하기 때문에 Excel 형태로 관리된 테스트 데이터를 사용하는 경우도 있다. 이 경우, Unitils의 DataSetFactory를 확장하여, excel 형태의 데이터를 로딩해서 테스트를 수행하게끔 가능하다. Unitils의 properties 파일에는 다음과 같이 기본 DataSetFactory가 XML을 읽어들이게끔 설정되어 있다. unitils-default.properties # Default factory that is used to create a dataset object from a file for the @DataSe.. 2009. 11. 11.
프로그래밍은 여러분의 팀을 가르치기도 한다. 프로그래밍은 어떤 문화와 상호작용하는 부분으로 발생되는 어떤 것이라 생각할 수 있다. - 어떤 문화는 두가지 서로 다른 대상이 있다. 하나의 "대상"은 CPU이며, 다른 대상은 다른 프로그래머들로 구성된다. 그리고 그러한 다른 프로그래머들은 일반적으로 무시되거나, 최소한 잘못 취급되는 사람들이다. 프로그래밍은 두가지 목표를 가진다. 한가지 목표는 물론 어떤 것을 수행하는 것이다. 채무 테이블을 계산하고, 변경된 부분에 대한 목록을 보여주고, Ebay에서 어떤 사람을 탐지하거나, 혹은 인간 플레이어의 군대를 무찌르는 것이다. 이러한 목표는 계산하는 환경에 초점을 맞춘 것이다. 또 다른 목표는 프로그래머들 간의 지식을 전달하는 것이다. 이는 많은 장점을 가진다. 주어진 부분의 코드를 이해하는 사람의 수를 증.. 2009. 9. 23.
enum을 사용한 에러메시지 코드화 자바에서의 에러는 에러 메시지와 에러의 종류/내용에 대한 것이 전부이다. 그렇다 보니, 자바의 에러(exception) 이외의 코드를 처리하는 별도의 모델을 만들어서 이를 사용하는 경우가 대부분이다. 이 경우, 기본적으로 자바의 예외처리 메커니즘의 코딩 표준을 해치게 되면 이로 인해, 에러가 비즈니스 로직 내로 표현되는 경우가 많다. 분명 에러와 비즈니스 로직은 별도로 처리되어야 하며, 비즈니스 로직 내에서는 분명한 목적을 가진 예외는 throw 처리를 해줘야 한다. 여기서는 enum을 사용하여 에러 메시지를 코드화시켜 관리하는 방법에 대해서 소개하고자 한다. 우선, 예외는 크게 checked 와 unchecked로 나뉘게 되며, 여기서는 checked 예외를 적용하여 설명한다. 비즈니스 로직에 대한 예.. 2009. 9. 22.
반응형