20
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

書籍「テスト駆動開発」を写経するための環境構築

Posted at

はじめに

書籍「テスト駆動開発(Kent Beck著,‎和田卓人訳)」を写経するために環境構築を行なったので、手順を残しておく。

構築の方針

  • Eclipseを使う。
    • 書籍と同じ環境で進めたい。
    • JUnitがEclipseと連携する使い勝手を見たい。
  • 細かい設定はしない。
    • とりあえず使えないと始まらない。あとからだんだん使えるようになるであろう。

環境

  • MacBookPro(Late 2013)
  • macOS Sierra 10.12.3

手順

インストールと起動

ここから、Eclipse IDE for Java Developersをダウンロードしてインストールする。
そして、アイコンを押して起動する。

スクリーンショット 2017-12-17 18.32.52.png

起動すると下記が出るがここはなにもせず[Launch]でよい。

スクリーンショット 2017-12-17 18.22.19.png

これで最初の画面が出てくる。

プロジェクトの作成

起動後の画面で[Create a new Java project]を選ぶ。

スクリーンショット 2017-12-17 18.15.17.png

プロジェクト名(tdds)を入力し、[Finish]。

スクリーンショット 2017-12-17 18.15.38.png

プロジェクトができた。

スクリーンショット 2017-12-17 18.22.37.png

JUnitの追加

JUnitライブラリを追加する。
プロジェクト(tdds)を右クリックして、[Properties]を選択。

スクリーンショット 2017-12-17 18.46.56.png

[Java Build Path]を選び、[Libraries]、[Add Library..]を押す。

スクリーンショット 2017-12-17 18.16.35.png

JUnitを選び、[Next]を押す。

スクリーンショット 2017-12-17 18.16.38.png

[Finish]を押す。

スクリーンショット 2017-12-17 18.16.41.png

これでJUnitが追加できた。

MoneyTestクラスとDollarクラスを追加

これで写経が始められる。早速、書籍P4〜P6に記載されている、MoneyTestクラスとDollarクラスを追加してみる。

まず、MoneyTestクラスを追加する。
srcを右クリックして[New]、[Class]と押す。

スクリーンショット 2017-12-17 19.00.08.png

NameをMoneyTestと入力、[Finish]。

スクリーンショット 2017-12-17 18.24.19.png

追加できた。

スクリーンショット 2017-12-17 18.24.26.png

このままだと、パッケージ名がtddsになってしまっている。パッケージ名は書籍の通り、moneyに修正する。

パッケージ名を右クリック。[Refactor]、[Rename]と押す。

スクリーンショット 2017-12-17 18.24.55.png

New nameをmoneyと入力し、[OK]を押す。

スクリーンショット 2017-12-17 18.25.11.png

パッケージ名の変更が完了した。
続いて、Dollar.javaも同様に作成する。

スクリーンショット 2017-12-17 18.25.25.png

作成したMoneyTest.javaDollar.javaには、書籍P4〜P6の通り、下記を実装しておく。

MoneyTest.java
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);
    }
}
Dollar.java
package money;

class Dollar {
    int amount;

    Dollar(int amount) {

    }

    void times(int multiplier) {

    }
}

テストの実行

プロジェクトを右クリック、[Run As]から[1 JUnit Test]を押すとテストが実行できる。

スクリーンショット 2017-12-17 18.26.28.png

このようにJUnitのテスト結果が出てくる。

スクリーンショット 2017-12-17 18.26.38.png

ここを押すと、

スクリーンショット 2017-12-17 18.26.38のコピー.png

テスト結果がConsoleに出てくる。

スクリーンショット 2017-12-17 18.26.48.png

これは、expected: <10> but was: <0> 、 つまり「アウトプットとして10が期待されているのに0だったよ」と言っている。

これで書籍にある最初のコードを動かすことができた。あとはこの調子で写経していけばよい。

備考

Androidアプリ開発の中ですでに設定済みだったためか、Javaは特にインストールする必要がなかった。もしかしたら他の環境では改めて設定の必要があるかもしれない。

参考にしたページ

20
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?