継続的デリバリーへの一歩:自動受け入れテスト(準備編)
自動受け入れテストは、コミットテストが成功して初めて実施されるものであるため、実行タイミングを分けてやる必要がある。ここでは、Java での開発を前提とし、自動受け入れテストは JUnit を使用するものとする。
ググってみたところ、 maven で単体テストと結合テストを分離するための超簡易な方法が紹介されていた。
http://stackoverflow.com/questions/1399240/how-do-i-get-my-maven-integration-tests-to-run
要は、テスト対象のクラス名を指定することで単体テストかどうかを分離している。
# 単体テスト (通常通り) mvn test # 結合テスト (オプション付き) mvn test -Dtest=**/*Integration
単体テストは末尾が Test のクラスが実行され、結合テストは末尾が Integration のクラスが実行される。
つまり、JUnit を利用するうえでは、テストの種類別にクラス名を分ければいいということになる。
多少問題があるが、単体テストと結合テストの実行タイミングを分離するという目的は達成できるので、とりあえずこの方法を採用してみる。