JsTestDriver
- 横浜JSTDDハンズオンに参加しました。#JSTDD (26 Feb 2012 | Tags:
横浜JSTDDハンズオンに参加しました。#JSTDD 横浜JSTDDハンズオンに参加しました。#JSTDD
横浜JSTDDハンズオンに参加してきました。 概要は、JavaScriptのテスト駆動開発についてのあれこれについてで、
会場の「タネマキ」は、なんかワクワクするカッコいいところでした!
当日のつぶやきまとめはこちら
横浜JSTDDハンズオン #JSTDD つぶやきまとめ - Yukarin’Note
##@kyo_agoさん発表
###TDDって? まずは簡単なアンケート
今日のハンズオンが初TDDの人?
初TDD率は、5/20人くらい? #JSTDD
— imae (Master BBQ)さん (@modal_soul) 2月 26, 2012JavaScriptのテストをしたことがある人? ※初TDDの人を含まず。
JavaScriptのテスト 3/15人くらい? #JSTDD
— imae (Master BBQ)さん (@modal_soul) 2月 26, 2012JsTestDriverを使ったことがある人?
JsTestDriverやったことある率は、3/20人くらい? #JSTDD
— imae (Master BBQ)さん (@modal_soul) 2月 26, 2012そもそもテストって?
「プログラマがおこなうホワイトボックステスト」って、1.開発的アプローチ(TDD)、2.ドキュメント的アプローチ、3.品質担保的アプローチ #JSTDD
— imae (Master BBQ)さん (@modal_soul) 2月 26, 2012###JsTestDriverについて
JsTestDriverについての説明と、テストをハンズオン形式で実施。
ハンズオンの手順、設定ファイル、プロダクトコード、テストコードは、
こちらに沿ってやりました。
テストコードの書き方、流れ、設定のTips、loggingなどなど
なかでもドキュメントやヘルプにもでてこないオプションがでてきて新鮮でしたw
これは「変なことをやりたかったらJSTestDriverのコードを読もうぜ」フラグ…… #JSTDD
— さねゆきさん (@saneyuki_s) 2月 26, 2012Google ProjectのWikiを読むよりもコードを見たほうが色々わかるよ、って
###Sinon.jsについて JsTestDriverで非同期処理のテストを使用とすると、 (かなり)難しいことになるようなので、
jsTestDriverで非同期テストの設定を書くのはあまりに面倒なので向いてない(かも) #JSTDD
— gochoさん (@gocho) 2月 26, 2012Sinon.jsでやったほうがいいところも(多々)あるそうです。
この辺りは適材適所で使い分けるのがポイントのようです。
ajaxのテストは、jsTestDriverだけじゃなくて、Sinon.jsとか、jqMockとか、使うといいんじゃない? 適材適所大切。 #JSTDD
— gochoさん (@gocho) 2月 26, 2012@azu_reさん発表
WebStormについて
私は使ったこと無かったのですが、シェアウェアのIDEなんだそうです。
#JSTDD 発表中のスライド "WebStorm指南書" bit.ly/wbPl1J
— azuさん (@azu_re) 2月 26, 2012有償なだけあり、豊富な機能が提供されていてとても便利そうな印象でした。@azu_reさんの資料がとても良くまとめられていらっしゃるので、詳細は こちら を見てもらったほうがいいと思います。
@os0xさん発表
jasmine-headless-webkitについて
JasmineのspecをCUI環境でいい感じにテストできるツールなんだそうです
#JSTDDのTL上に特に資料のURLがなかったので、この記事ではここまでしかかけてません、すみません
##まとめ 全体を通して、なかなかコアな話が聞けてとてもためになりました。
を去年読みはじめてから、もっと勉強しよう、と思いつつなかなか手がつけられずにいたので、とてもいい機会になりました。
今回の内容を踏まえつつ、Jenkinsとからめてビルドパイプラインを構築するのが当面の目標ですね。
Latest post:
- OpenWhiskのScala sbtプロジェクトのgiter8テンプレートを作った
- OpenWhisk+Scalaで作るServerless Architectureとっかかり
- BluemixにPlayframeworkアプリケーションをデプロイする
- sbt、Giter8を統合するってよ
- Scala 2.12.0でSAM型
Recent Books:
- 【意訳】Play Framework 2.0とJsTestDriverによるJavaScriptテスト。 (21 Feb 2012 | Tags:
【意訳】Play Framework 2.0とJsTestDriverによるJavaScriptテスト。 【意訳】Play Framework 2.0とJsTestDriverによるJavaScriptテスト。
Testing javascript with Play Framework 2.0 and JsTestDriverを適当翻訳でご紹介します。
元記事はこちら
qwallet.comでは、バックエンドにScala on Play2.0を使った広大なjavascriptアプリケーションを構築しています。
Scalaの開発にIntelliJ IDEAを使うようになってからは、JavaScriptでも同じように使っています。
これにより、IntelliJとJsTestDriverの統合による恩恵を受けています。
JavaScriptアプリでは、常に3つのブラウザを対象にテストをしています。
テストコンソールにはテスト結果と、ブラウザからフェッチされたコンソール出力を確認できます。
上の試験例では、FireFox, Chromeのテストは通っていますが、Safariでは失敗しています。 サンプルでは3つのテストケースがあり、拡張した1つは2つのテストメソッドを持っています。 もしエラーが発生した場合、スタックトレースがクリッカブルになり、IntelliJはエラーの行右側に飛びます。
テストはとても速いですが、この小さなサブセットのためにChromeでは6msかかっていますが、まだ改善の余地があります。
Play2.0の親切なところは、JavaScriptファイルの自動コンパイルです。 JsTestDriverのdevモードでは、ライブラリファイルとテストケースをブラウザに送り、アプリケーションファイルはPlay2.0アプリケーションによって送られます。 Playは、ファイルの変更を検知して自動でリコンパイルします。 テストを書くときに見逃しているかもしれないものをコンパイラがキャッチしてくれ、結果としてカバレッジが向上します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersload: - public/javascripts/external/jquery-1.7.1.min.js - http://localhost:9000/assets/javascripts/my_file1.js - http://localhost:9000/assets/javascripts/my_file2.js - test/javascripts/*.js CIモードでは、JavaScriptファイルは1度コンパイルされておりPlayを経由して送られる必要がない。 この方法はとても早く、Playがバックグラウンドで実行されている必要性を低減してくれます。
qwallet.comの継続的デプロイの運用では、アプリケーションの全ての部分をテストします。 JsTestDriverはクロージャーコンパイラーとバンドルされ、fast devモードユニットテストとテスティングストラテジーのコンポーネントとして提供されています。
ところで、もし興味があったら、jobs@qwalletにメールを送ってくれ。
LinkLatest post:
- OpenWhiskのScala sbtプロジェクトのgiter8テンプレートを作った
- OpenWhisk+Scalaで作るServerless Architectureとっかかり
- BluemixにPlayframeworkアプリケーションをデプロイする
- sbt、Giter8を統合するってよ
- Scala 2.12.0でSAM型
Recent Books: