これはいろふAdvent Calendar2014の8日目の記事です。
昨日はきつねさんのIrofGen - きつねとJava!でした。
次回はぜろゆさんです。
ずいぶんと離れているので、誰かエントリーしてもいいのよ|ω・\)チラッ
いろふさんといえば、『のざきひろふみ』とかいう筆名で『Javaエンジニア養成読本』の第二章に寄稿しています。
ただ、僕の中ではいろふさんはJUnitな人で、TDDブートキャンプのチューターのイメージが強いです。
そんなわけで、プロジェクトでテストコードを書いていないとコミットしても、失敗させるgit hookを書いてみました。
テストがある場合は怒られません
スクリプト
スクリプトはこんな感じで、結構ザルです。
#!/usr/bin/env groovy def testFiles = 'git status -s'.execute() .text.split(System.lineSeparator()) .findAll{it.startsWith('M ') || it.startsWith('A ')} .findAll{it.contains('src/test/')} if (testFiles.size() == 0) { def irof = $/ `:oshdhyyyyyyyhdyyhhoo/` -sms/.` .../sNd/ `No テスト書かないとか `oN: /N` それ@t_wadaの前でも ms :N. 同じこと言えるの? /M/ sh:-` `.::` ` `:sMy `-/oooo+oM: yNdyyhhyyhy+. .M+ dN` `:/oyddddhy++:` /ms::dh- ./ydNNdso//---/+symM `:shdMMd .odNds/. /dNs: .dMo` :Nm. `-/:` /NMh` sNhoyNs` `+mNy- +M. /Ms :yNh- `hh/-/dd. `+Nh- :+s+: `+mh- `..::/dMs :syyyhhysso/////` yN:` `hN: oNy. /$ println irof System.exit(1) } else { System.exit(0) }
なお、画像はうらがみさんのスタックトレースろふで紹介されているものを使いました。
以上、あまり変態度高くないです