はじめに
書籍「テスト駆動開発(Kent Beck著,和田卓人訳)」を写経するために環境構築を行なったので、手順を残しておく。
構築の方針
- Eclipseを使う。
- 書籍と同じ環境で進めたい。
- JUnitがEclipseと連携する使い勝手を見たい。
- 細かい設定はしない。
- とりあえず使えないと始まらない。あとからだんだん使えるようになるであろう。
環境
- MacBookPro(Late 2013)
- macOS Sierra 10.12.3
手順
インストールと起動
ここから、Eclipse IDE for Java Developersをダウンロードしてインストールする。
そして、アイコンを押して起動する。
起動すると下記が出るがここはなにもせず[Launch]でよい。
これで最初の画面が出てくる。
プロジェクトの作成
起動後の画面で[Create a new Java project]を選ぶ。
プロジェクト名(tdds
)を入力し、[Finish]。
プロジェクトができた。
JUnitの追加
JUnitライブラリを追加する。
プロジェクト(tdds
)を右クリックして、[Properties]を選択。
[Java Build Path]を選び、[Libraries]、[Add Library..]を押す。
JUnitを選び、[Next]を押す。
[Finish]を押す。
これでJUnitが追加できた。
MoneyTest
クラスとDollar
クラスを追加
これで写経が始められる。早速、書籍P4〜P6に記載されている、MoneyTest
クラスとDollar
クラスを追加してみる。
まず、MoneyTest
クラスを追加する。
src
を右クリックして[New]、[Class]と押す。
NameをMoneyTest
と入力、[Finish]。
追加できた。
このままだと、パッケージ名がtdds
になってしまっている。パッケージ名は書籍の通り、money
に修正する。
パッケージ名を右クリック。[Refactor]、[Rename]と押す。
New nameをmoney
と入力し、[OK]を押す。
パッケージ名の変更が完了した。
続いて、Dollar.java
も同様に作成する。
作成したMoneyTest.java
とDollar.java
には、書籍P4〜P6の通り、下記を実装しておく。
package money;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class MoneyTest {
@Test
public void testMultiplication() {
Dollar five = new Dollar(5);
five.times(2);
assertEquals(10, five.amount);
}
}
package money;
class Dollar {
int amount;
Dollar(int amount) {
}
void times(int multiplier) {
}
}
テストの実行
プロジェクトを右クリック、[Run As]から[1 JUnit Test]を押すとテストが実行できる。
このようにJUnitのテスト結果が出てくる。
ここを押すと、
テスト結果がConsoleに出てくる。
これは、expected: <10> but was: <0>
、 つまり「アウトプットとして10が期待されているのに0だったよ」と言っている。
これで書籍にある最初のコードを動かすことができた。あとはこの調子で写経していけばよい。
備考
Androidアプリ開発の中ですでに設定済みだったためか、Javaは特にインストールする必要がなかった。もしかしたら他の環境では改めて設定の必要があるかもしれない。