JMockit ツールキットはこちらから、全配布物をzipファイルとして入手できます。また Maven 2 の公開リポジトリからバイナリとソースjarファイルを入手できます。このツールキットのドキュメントは、チュートリアル、APIドキュメント、いくつかのサンプルテストスイートから参照できます。
JMockit のはじめ方
JMockit は以下のステップで使い始めることができます。
- 最新配布パッケージをココから入手するか、SVNリポジトリからチェックアウトします。
- zip ファイルを任意ディレクトリに解凍します。ライブラリとソースファイル、サンプルファイル、Javadocs と追加のドキュメントが含まれた jmockit ディレクトリが作成されます。Ant で JMockit プロジェクトをビルドするには、追加でjmockit-libs.zip ファイルをダウンロードして jmockit ディレクトリに解凍する必要があります。Maven でビルドするには jmockit/pom.xml を利用するだけです。
- jmockit.jar を IDE や Ant ビルドファイルなど、必要なクラスパスに追加します。
- 環境によって以下を実施する必要があります。
- JDK 1.5 を利用している場合、テストの実行時に JVM パラメータとして "-javaagent:jmockit.jar" (jmockit.jar はjar ファイルへのパス)を指定します。この JVM オプションにより JMockit がバイトコードを操作するために内部的に利用する「Java agent」がロードされるようになります。1.6 かそれ以上の JVM でも、たとえば IBM J9 JDK 1.6,や Mac OS X JDKs そして Solaris OS 向けの JDK のように JMockit がサポートしない Attach API 実装の場合は、同様に JVM パラメータを指定する必要があります。
- JUnit(4.5以上)と JDK1.6 以上を使用している場合、クラスパスで JUnit jar ファイルより前に jmockit.jar を指定する必要があります。JUnit の古いバージョンはサポートされませんが、Junit4 を利用して JUnit 3.8 形式のテストを記述することはできます。Eclipseユーザの場合は "Java Build Path" の "Order and Export" の設定でクラスパスの jar の順番を入れ変えます。
- TestNG(5.14以上)を利用している場合、このページの手順にて JMockit-TestNG インテグレーションの設定を行う必要があります。
- jmockit.jar にはソースファイルが添付されているため、IDE からソースファイルを参照することができます。jmockit/www/javadoc ディレクトリには、オンライン版と同様なHTML形式のAPIドキュメントが含まれています。
Ant ビルドスクリプトで JMockit を利用する場合
build.xmlに以下の設定を追加します。
<junit fork="yes" forkmode="once" dir="directoryContainingJars"> <!-- If needed (eg, when running on JDK 1.5), uncomment the following JVM argument: <jvmarg value="-javaagent:jmockit.jar"/> --> <classpath path="jmockit.jar"/> <!-- To generate (if desired) a code coverage report: --> <classpath path="jmockit-coverage-htmlfull.jar"/> <!-- additional classpath entries, including one for the appropriate junit.jar --> <batchtest> <!-- filesets specifying the desired test classes --> </batchtest> </junit>
Maven で JMockit を利用する場合
<repository> <id>jmockit-svn</id> <url>http://jmockit.googlecode.com/svn/maven-repo</url> </repository>
依存関係の定義を設定します。
<dependency> <groupId>mockit</groupId> <artifactId>jmockit</artifactId> <version>0.999.6</version> <scope>test</scope> </dependency>
この依存関係の定義は junit の定義の前に記載する必要があります
JDK1.5 を利用している場合は javaagent の初期化パラメータを指定する必要があります。
<plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>-javaagent:"${settings.localRepository}"/mockit/jmockit/0.999.6/jmockit-0.999.6.jar</argLine> </configuration> </plugin>
後編に続く。。