横浜JSTDDハンズオンでWebStormについて発表してきた
横浜JSTDDハンズオンに参加してきて、WebStormというIDEはどういうものなのかについて発表してきました。
発表してきた資料置いておきます。
後から資料として見やすいように画像をたくさん入れながらWebStormの機能紹介について書いたので、WebStormについて知りたい方は読むといいです。
また、最近出たばかりのWebStorm 4.0 Early Access Programについても書いてあるので興味がある人はどうぞ。
スライドは上記のように機能の紹介がベースで、それの利用方法やこういう機能があって便利という感じのスライドになってます。
Web開発等JavaScript周りの環境も変化してきているので、それにあわせてエディタやIDEももっと変化するといいなーと思う部分にいろいろ挑戦してる感じがしてるのがWebStormが好きな所でもあります。
とりあえず、WebStormは30-day trialなので、試してみるといいかもしれません。他のエディタ等もいろいろ競争して質が上がっていくといいなー。
横浜JSTDDハンズオンの方ではJsTestDriverを使ったハンズオンをしたのでその時のアウトラインメモ。
Twitterのまとめは 横浜JSTDDハンズオン #JSTDD つぶやきまとめ – Yukarin’Note に
TDDとは何か
- プログラマが行うホワイトボックステスト
- 開発的なアプローチ(TDD)
- ドキュメント的なアプローチ (サンプルコード
TDD
- 開発を行うためにテストを行う
- コードカバレッジは考慮しない
- 先に大きなインターフェイスを書いて設計を行う
BDD
- 振る舞いを先に定義する
- 開発を始めるときは重要だけど、開発を進めるといらない
ドキュメントアプローチ
- ドキュメントの代わりにテストを書く
- キッチンシンクと言われたりするような主要な機能についてテストを書く
- 開発当初は微妙だけど、公開するにつれて重要になる。
品質的なアプローチ
- コードカバレッジは管理していく段階で重要になる
- コードカバレッジを重視すると、ドキュメント的な役割がし難く。
結合テスト
Seleniumとかの話
JsTestDriverのアーキテクチャ
JsTestDriverの使い方
setUp
各テスト実行前に実行される
tearDown
各テストが終わる事に実行される
AsyncTestCase
引数で同期か非同期化を分けられるので、SyncTestCaseにもできる。
各テストにはqueueという引数がわたってくる 非同期テストはとても面倒
sinon.js
非同期テストを楽にするFakeテストができる
JSTestDriverのエラーになりやすい所
- serverオプションに/を付けるとエラー
- 複数人で同じサーバのJSTestDriverを使える(パブリックはやめとけ)
- ブラウザでアクティブでないタブのsetTimeoutがゆっくりになるので、それぞれウィンドウで実行するのがよい
Sinon.js
トロイの木馬の手引きをしたスパイの名前が由来
ツール
書いたコードは azu/YokohamaJSTDD – GitHub に置いてあります。
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。