Wiki

Clone wiki

20110515-tddbc-forum / DevEnv

開発環境の構築

TDD Boot Camp 札幌 1.5では、Java/Eclipse/JUnitを使い、テスト駆動開発を行います。 次に示す開発環境を構築して参加することで、効率よく学ぶことができるでしょう。

Java(JDK)

Java(SDK)がインストールされていない場合は、java.sun.comよりJDK6をインストールしてください。

バージョンは6以上であれば問題はないと思いますが、Java6 update10以降をオススメします。 バージョンの確認はコマンドラインからjavacコマンドで確認して下さい。

$ javac -version
javac 1.6.0_24

Eclipse

EclipseはJavaの標準的な統合開発環境(IDE)です。 お使いのOSに適した最新のEclipse(Helios)をインストールしてください。

Eclipse Plugin

以下のプラグインをインストールします。

プラグイン名Update Site
Quick JUnithttp://quick-junit.sourceforge.jp/updates/beta/
Mercurial Eclipsehttp://cbes.javaforge.com/update
m2eclipsehttp://m2eclipse.sonatype.org/sites/m2e/0.12.1.20110112-1712/

次のプラグインをインストールしておくと、より便利です。

プラグイン名Update Site
EclEmma Java Code Coveragehttp://update.eclemma.org/
yedithttp://dadacoalition.org/yedit

Bitbucket account

Bitbucketを利用してソースコードの共有などを行いますので、アカウントを作成しておくと便利です。

プロジェクトの作成

Eclipse上でJavaプロジェクトを作成します。 プロジェクト名は「20110515-tddbc-forum」かお好きな名前を付けてください。

プロジェクトを作成したら、m2eclipseプラグインを使い、プロジェクトの設定を行います。 プロジェクトのコンテキストメニューを開き、「Maven」メニューから「Enable Dependency Management」を選択してください。各フィールドには次のように入力します。

項目設定値
Group idtddbc
Artifact idforum

他はデフォルト値で構いません。

次にソースフォルダを作成します。プロジェクトのコンテキストメニューから、「Build Path」の「New Source Folder」を選択してください。ダイアログが表示されるので、次のパスを入力します。

  • src/main/resources
  • src/test/java
  • src/test/resources 3つあるので3回行ってください。

最後に依存ライブラリなどの設定をpom.xmlに追加します。 pom.xmlを開き、右の方にある「pom.xml」タグを開き、</project>の上の行に、以下のXMLを挿入してください。

  <repositories>
    <repository>
      <id>deathmarch.jp</id>
      <url>http://maven.deathmarch.jp/maven2/</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>
  <build>
    <defaultGoal>package</defaultGoal>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.5</version>
        <configuration>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.8</version>
        <configuration>
          <includes>
            <include>**/*Test.java</include>
          </includes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.8.2</version>
      <type>jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <version>1.8.5</version>
      <type>jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>jp.sunflower</groupId>
      <artifactId>utflavor</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.yaml</groupId>
      <artifactId>snakeyaml</artifactId>
      <version>1.8</version>
      <type>jar</type>
      <scope>test</scope>
    </dependency>
    <!-- logging -->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>0.9.28</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      <version>0.9.28</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.6.1</version>
    </dependency>
    <!-- for database support -->
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-annotations</artifactId>
      <version>3.4.0.GA</version>
      <type>jar</type>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>slf4j-api</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>javassist</groupId>
      <artifactId>javassist</artifactId>
      <version>3.12.1.GA</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.dbunit</groupId>
      <artifactId>dbunit</artifactId>
      <version>2.4.8</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>slf4j-api</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.3.154</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.yaml</groupId>
      <artifactId>snakeyaml</artifactId>
      <version>1.8</version>
      <type>jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>jp.sunflower</groupId>
      <artifactId>hibernate-utils</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
  </dependencies>

保存したならば、ダウンロードが始まると思いますので、しばらくお待ちください。

Mercurialで管理する

Mercurialは簡単にローカルマシンでリポジトリを作成し、バージョン管理を行える分散型バージョン管理システムです。 Eclipseではプラグインを使えば、コンテキストメニューから、「Team - Share Project - Mercurial」と選択していくだけでリポジトリを作成できます。

リポジトリを作成したら、コミットし、プロジェクトの最初の状態を保存しましょう。

Updated