日々常々

ふつうのプログラマがあたりまえにしたいこと。

#AsiyanAutomationAlliance をやりました

kokucheese.com

第一回 AsiyanAutomationAlliance をや っています。現在進行中です。 りました!第二回AAAです。 運営なんですが、超寝坊しました。開始には間に合ったけど、運営業できてない。。。orz 最後まで運営らしいことできませんでした!!

イベント概要

Asiya最大の自動化イベントです。午前2セッション、午後から2トラックで6セッション、最後に1セッション。懇親会はビアバッシュでLT祭り。2トラックは「テスト自動化」と「自動化・ツール」で大きくわけてお送りしました。

自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争

出落ちが酷かったので、あんま大丈夫じゃなかった。 話はいつもの三浦一仁氏だったのでよかったのだけど……。話の裏のツイッターも面白かったので、雑にまとめました。

失敗したデモはLTでリトライ。さあどうなるか。

ギアと開発とわたし

読みたいなーと思ってたけどまだ買ってなかったので、話聞きながらポチった。

システムテスト自動化 標準ガイド (CodeZine BOOKS)

システムテスト自動化 標準ガイド (CodeZine BOOKS)

  • 作者: Mark Fewster,Dorothy Graham,テスト自動化研究会,伊藤望,玉川紘子,長谷川孝二,きょん,鈴木一裕,太田健一郎,森龍二,近江久美子,永田敦,吉村好廣,板垣真太郎,浦山さつき,井芹洋輝,松木晋祐,長田学,早川隆治
  • 出版社/メーカー: 翔泳社
  • 発売日: 2014/12/16
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (3件) を見る

話の中で数式の紹介があったのですけど、そのいじり方の紹介がとても面白かったです。噛み砕いて何かのネタにしたいなー。

まとめ

自動化と一言で言っても、それを使う相手によって求める部分は違うし、違って良いし、それに応えてこそ。自動化も普通の開発と同じところあるなー、というTABOK読書会で話してたことを再確認できたりしました。やばい、進歩ない私。

てことで、個人的なベストセッションは @moririring さんのでした。

非公開ひゃっはー。

MavenSurefirePluginのバージョンのメモ

前置き

プラグインのバージョンとかは上げるタイミングがあれば最新にする私ですが、設定によっては動かなくなったりして、一気に上げるのは厳しいこともあります。でもどこまで下げたらいいかわからなくて、やりたいことができるギリギリでお茶を濁すなんてのもよく見ます。細々としたバグフィックスとかも入ってるし、上げられるだけ上げた方がいいとは思うんだけど、そうも言っていられない現実もあります。

バージョンを上げなきゃと思った以上は、何かしら問題があった、もしくはやりたいことがあるんだと思う。てことでそのメモ。

てか個人的にはもうMaven使わないんだけどね。。。

各バージョンごとのメモ

surefire-plugin自体の機能にはあまり興味ない感じです。実行対象がそれなりに選べて、レポートがそれなりに出てくれれば十分。

2.9

Maven 3.0.5 のデフォルトバージョン。Mavenの3.0系の安定版を使って特になんてしてなかったらこれになる。これより下げることはないと思ってる。

2.11

なんかよく使われてる感じのするバージョン。なぜかは知らない。

2.12.1

昔の自分のエントリによると、JUnitProviderが変更されたバージョン。JUnitのCategoryを使用する場合の記述が簡略化できるようになっているので、Category使うならこれ以降で。

2.12.3

日本語テストメソッド名を使用したテストレポートなどがユニコードエスケープされて出てきちゃう問題が解消された。日本語テストメソッダー(このエントリのみの独自用語)には重要なバージョン。

2.12.4

現時点の最新である Maven 3.3.3 で使用されるデフォルトバージョン。特に気にしてなかったらこれになるか? 2.12系の最終でもあるし、2.12.xを使うならここまで上げても問題にはならないと思ってるので、2.12.1とかで中途半端に止める理由はないでしょね。

2.13近辺

なんかパラレル周りの対応が目立つのがこの辺。

2.14.1

2.14でうっかりFileWriterとか使ちゃったせいで、TEST-*.xmlがシステムのエンコード使うようになっちゃってたのが直ったりしてます。出たばっかりの2.14を使ってリアルタイムに踏んだのはいい思い出。とりあえず、2.14系で止めるなら2.14.1にしたほうが良いです。

2.15

Java SE 1.4 以前を切り捨てたバージョン。そちらの方々はこれ以降は使えません。

2.17

Java SE 8 の対応が入り始めた頃。

まとめ

とりあえず最新使って、なんか詰まったらISSUE上げるとか騒ぐとかしましょう。(そんなこと書いてない) あ、このブログ書いてる時点の最新は2.18.1です。

WeldとJava SEとGradleとIDEAと

Weldを使ってみようと思いました。普段DIはSpring一本槍なのですが、それもどうかと思ったので。

opengl-8080さんやKazuhiraさんのようないつもの方々が既にやられていることだし、すぐできるだろうと思ってました。

qiita.com d.hatena.ne.jp

やるまでは。甘かったです。すぐできなかった。でも、あーだこーだとやってたら一応解決したので書いておきます。

結論からいうと、*.classがあるディレクトリにbeans.xmlさんがいる必要があります。Gradleとかでclassesとresourcesとかディレクトリが分かれてると、resourcesにbeans.xmlさんが行っちゃうので、動かない。

気づいてみればよくある話なんだけど、だいたいそんなもんだよね(´・ω・`)

やったこと

  • とりあえずドキュメントの通りにやってみる
    • なんか動かない
  • CDIわかってないせいだと思ってJSR読んでみる
    • 特に解決しない
  • ざっくりWeldのソース読んでみる
    • 特に解決しない
  • ログ入れる
    • jclの警告は出てたけどdebugも出すよーにした
    • build/resources/main しか読んでないことに気づく
  • Gradleでコピる
    • 動いた
    • けどIDEAでrebuildしたら動かなくなる
  • beans.xml 無しで読むようにWeldいじる
    • 動きはした
    • けどまともな形にはならなかったし、やりすぎ感もある
    • やりたいのはCDIを一通り触ってみることであって、Weld本体をいじることではないんですよ!!!←
    • てかそのうち本体で対応するだろうし。。。
  • 実行時にコピるようにする
    • いまここ

ログは偉大だなとおもいました。まる。

まじめなことはGitHub

ブログに雑なこと書いて、GitHubのREADMEに真面目なことを書くというのはどうだろう。

と思ってREADMEみたけど、真面目でもなかった。棲み分け……。