• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
TDD勉強会キックオフ for Java
 

TDD勉強会キックオフ for Java

on

  • 2,152 views

「テスト駆動開発入門」の写経をJavaで始めるにあたって、準備するものの説明。

「テスト駆動開発入門」の写経をJavaで始めるにあたって、準備するものの説明。

Statistics

Views

Total Views
2,152
Views on SlideShare
2,150
Embed Views
2

Actions

Likes
3
Downloads
0
Comments
0

2 Embeds 2

https://twitter.com 1
http://s.deeeki.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    TDD勉強会キックオフ for Java TDD勉強会キックオフ for Java Presentation Transcript

    • TDD勉強会キックオフ for Javahttp://upload.wikimedia.org/wikipedia/commons/4/41/Duke_Wave.png http://bookweb.kinokuniya.co.jp/imgdata/large/4894717115.jpg @yutax77
    • アジェンダ● テストフレームワーク ● JUnit ● TestNG● ビルドツール ● Ant ● Maven● IDE● インストール作業
    • テストフレームワーク
    • JUnit● Javaの世界ではベーシック● Ver. 4からアノテーションベースとな り使いやすくなった● もちろんIDE向けプラグインも完備
    • 余談ですが、 JUnitは著名なエンジニア 2人が作者です
    • Kent Beck http://www.pej-hed.jp/washo/file/935.jpg http://ecx.images-amazon.com/images/I/51TZ1A6609L.jpghttp://biography.sophia-it.com/imgb/bike001.png
    • Erich Gamma http://images-jp.amazon.com/images/P/4797311126.09.LZZZZZZZ.jpghttp://javazone.no/incogito/speaker/d5503464-a8c7-41c1-aade-7d256d34d59c/photo
    • ちなみに・・・
    • 最初のデザインパターン本 は、こちらが個人的には オススメ http://ecx.images-amazon.com/images/I/51k0udCitAL.jpg
    • せっかくの勉強会 なので、ひとひねりしたい
    • TestNG● Testing, the Next Generation ● No Good● JUnitとNUnitをベースに開発● アノテーションベース● データ駆動テスト(@DataProvider)● 曰く、全テストをカバーするよ! ● unit, functional, ent-to-end, integration...● 最近のバージョンアップでEclipseプラグインも 使いやすくなった
    • TestNGを賞賛する記事
    • ということで(?)、 TestNGを 使います!
    • ビルドツール
    • Ant● Java版make● 歴史もあり、スタンダード● 小さいところから大きなところまで ● build.xmlの工夫次第 http://www.zoomingin.net/wp-content/uploads/2010/12/Apache-Ant-Logo-java.png
    • Javaのビルドの問題点● 標準のフォルダ構成がない ● プロジェクトによってバラバラ ● 何がどこにあるのか分かりにくい● Jarの依存関係解決が大変 ● Jar地獄(cf. DLL地獄)
    • ● メイバン/メイヴェン● ビルドライフサイクルを定義 ● >mvn package – コンパイル、テスト実行、jar作成まで行う● プラグイン拡張で何でもできる ● コンパイル、テスト、javadoc、jar、war作成、成果物のデプロ イ、レポート作成・・・● 標準構成を定めた(archtype)● Jar依存管理 ● 依存するjarも含めて管理してくれる http://maven.apache.org/images/maven-logo-2.gif
    • archtypeの例 mvn archetype:create -DgroupId=com.example -DartifactId=sample 単純なjar作成プロジェクト sample │ pom.xml pom.xmlの場所 │ └─src ├─main・src配下の構成 │ └─java・UTの場所 │ └─com │ └─example │ App.java │ └─test └─java └─com └─example AppTest.java
    • 勉強会なので、(より馴染みのない) Mavenを 使います!
    • IDE
    • お好みに合わせて・・・http://brokendish.org/wp-content/uploads/2011/07/Screenshot-Eclipse.png http://www.ipentec.com/document/ImageHandler.ashx?id=netbeans-70-install-11 http://blog.japila.pl/wp-content/uploads/2011/06/idea10.5-about.png
    • エディタでも・・・http://www.cse.iitm.ac.in/~osslab/joomla/images/stories/vim-editor_logo.png http://nanasess.net/mt/emacs.jpg
    • ただし● 実装⇔ユニットテストの切り替えが容 易であること● ユニットテストを即座に実行、結果を 確認可能であること
    • インストール作業
    • 共通● JDK6以降● Maven ● 2系、3系どちらでもOK ● 新規なら3系推奨 ● 詳細は本家HPなどを参考に
    • IDE向けプラグイン● Eclipse3.6の場合 ● M2Eclipse – Eclipse向けMaven統合プラグイン ● TestNG for Eclipse ● EGit(必要に応じて)● 「ヘルプ」→「Eclipseマーケットプレ イス」からインストール
    • Mavenからプロジェクト作成> mkdir work> cd work> mvn archetype:create-DgroupId=com.yutax77-DartifactId=tdd-java
    • JUnit→TestNGに切り替え● pom.xml <url>http://maven.apache.org</url> + <build> + <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> + </configuration> + </plugin> + </plugins> + </build> <dependencies> <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>3.8.1</version> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <version>6.1</version> <scope>test</scope> </dependency> </dependencies>
    • ● AppTest.java -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; +import static org.testng.Assert.*; +import org.testng.annotations.*; /** * Unit test for simple App. */ public class AppTest - extends TestCase { - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } - /** * Rigourous Test :-) */ + @Test public void testApp() { assertTrue( true ); } }
    • 動作確認> cd work/tdd-java> mvn clean test こんなのが出力されればOK!
    • Eclipse用プロジェクト作成> mvn eclipse:eclipse 以下が生成 ✔ .classpath ✔ .project ✔ .settings
    • Eclipseにインポート● 「ファイル」→「インポート」→「Existing Maven Projects」 クリックでインポート
    • 準備は出来ましたTDDを始めましょう!