読者です 読者をやめる 読者になる 読者になる

Dog Driven Development

プログラミング関連で試行したことや、勉強会参加の記録を残していきます。

AngularJSテストソンに参加してきた

つい1週間ほど前の話ですが、AngularJSテストソンに参加しました。

AngularJSテストソン - AngularJS Japan User Group | Doorkeeper

当日は、始めにAngularJSのテストに関する簡単な説明とチーム分けが行われ、そこからテストコードを書いたり、参加者・主催者の方々と書き方について話し合ったりして、最後に各チームごとに実践した内容の発表を行いました。

当日作業を行ったリポジトリへのリンクも置いておきます。
shunjikonishi/AngularTestSonSample · GitHub

Javascript歴3ヶ月・AngularJS歴1ヶ月程度の知識で、どこまでのことができるか不安でしたが、AngularJSのテストの書き方からテストしやすいAngularJSの書き方などもなんとなく見えてきた1日だったので、非常に収穫のある1日になったと感じています。 簡単に感想みたいなものを書きます。  

学んだこと

  • AngularJSの書き方について

    • 当たり前のことかもしれませんが、Controllerに書いているロジックはなるべくServiceに切り出したほうがいいと感じました。普段、Controllerの中で$httpを叩いたりするコードをよく書いているのですが、これもService側に処理を切り出したほうがテストがしやすく、$httpのmockも書きやすくなるのかなと感じました。
      また、Service自体のmockを作ってユニットテスト実行時に参照することもできるらしいので、積極的にServiceに切り出したほうがテストがしやすくなるのかなと思いました。
  • CSSセレクタプログラマのみ触れるものを定義しておく

    • Dチーム(うろ覚え…)の方の発表スライドに出てきた内容。デザイナーが定義したCSSセレクタを参照するようにコードを書くと、デザイナー側がCSSセレクタの名称を変更したときにコードが動かなくなるということがある。テストコードに限った話ではありませんね。正直、まったく意識できていませんでした。
      対応策としては、プログラマ側が利用することを明示したCSSセレクタ名を定義することだそうです。(例:"js-"といった文字列をCSSセレクタ名につける等)

もっと学びたいこと

  • protractorの書き方
    • 正直、なんとなく使い方がわかる程度の状態で終わってしまったので、どういうAPIがあるかをもう少し知りたいと思っています。protractorで使われているpromiseという書き方についても、テストソンの3日前に知った程度の知識なので、この辺も含めてちゃんと理解していければと考えてます。

コードを書く勉強会は学びが多くていいですね。今後も積極的に参加していきたいです。