『JUnit実践入門』写経・実践会 in 横浜 #1 に参加しました
『JUnit実践入門』写経・実践会 in 横浜 #1 - connpass
2012/12/01 『JUnit実践入門』写経・実践会 in 横浜 #1 #junitbook - Togetterまとめ
JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)
- 作者: 渡辺修司
- 出版社/メーカー: 技術評論社
- 発売日: 2012/11/21
- メディア: 単行本(ソフトカバー)
- 購入: 14人 クリック: 273回
- この商品を含むブログ (68件) を見る
慌てて購入したため、未読での参加に…
ごめんなさい。
場所は以前にも @shinyaa31 さんとモクモクした、横浜は関内にあるルノアールさん。
入ってすぐの場所に 8 名で陣取ってました。
やったこと
これらの章を各自で読んだ後、写経等しながら気になる箇所、疑問等を話すという形式です。
Yokohama.groovy と似たゆるーい感じ。
読んでてリファクタリングのタイミングについて疑問を感じたのですが、みんなに意見を聞く事ができてよかったです。
JUnit実践入門ですが Groovy + Spock + IntelliJ IDEA で本の内容を読み替えながら写経してました。
写経の成果はこちら。
package Calculator class Calculator { Integer add(int x, int y) { x + y } Integer multiply(int x, int y) { x * y } BigDecimal divide(int x, int y) { if (y==0) throw new IllegalArgumentException() x / y } }
package Calculator import spock.lang.Specification import spock.lang.Unroll class CalculatorSpec extends Specification { def Calculator sut def setup() { sut = new Calculator() } @Unroll def "add は#xと#yで#resultを返す"() { expect: sut.add(x, y) == result where: x |y |result 5 |1 |6 3 |4 |7 } @Unroll def "multiply は#xと#yで#resultを返す"() { expect: sut.multiply(x, y) == result where: x |y |result 5 |7 |35 3 |4 |12 } @Unroll def "divide は#xと#yで#resultを返す"() { expect: sut.divide(x, y) == result where: x |y |result 3 |2 |1.5 9 |3 |3.0 } def "divide は0除算で例外を送出する"() { when: sut.divide(9, 0) then: thrown(IllegalArgumentException) } }
その他
Togetter を見ると分かりますが、うさみみさんが偶然にも (?) ハッカソン参加のために、徒歩 5 分の距離にいることが発覚し急遽参加。
色々お話してもらえてよかったです。
そのうち Yokohama.groovy にも来てもらえるみたいですよ。
あ、Groovyイン・アクション の MOP のところ見せてもらえばよかった…
そんな感じで、19 時頃までやって解散となりました。
次回は多分 1 月です。
冬休みの宿題がんばります。