SlideShare a Scribd company logo
Xtone ltd.
下っ端
豊田陽一
Javascriptで
テスト駆動開発、
出来てますか?
  テストツール何使おう…
  イベント駆動のテストどうしよう…
そもそも
テスト駆動開発が出来る
スタートラインが
ないよね
  Ruby   on rails
 ◦  テストを動かす環境として
 ◦  Assetsパイプラインを前提
  Backbone.js
 ◦  Javascript MVCフレームワーク
  Jasmine
 ◦  Javascriptテストツール
 ◦  Rails上で動かすgemがある
 ◦  Rspecみたいな文法
  ニコ○コ動画のコメントみたいなもの
を流すためのCanvasライブラリを
作ってみた
◦  https://github.com/rswisteria/
   CommentView
JasmineによるJavascriptテスト駆動開発
  テストはブラウザ上で実行
◦  テストページを返すWebサーバを起動
◦  $ bundle exec rake jasmine
◦  上記コマンド実行後、8888ポートに接続
   screenコマンドとか利用して動かしっぱなし
    にしておくといいかと
JasmineによるJavascriptテスト駆動開発
  describe∼itみたいな記述でBDD
 ◦  Rspecみたいな感じ
  実際のHTMLの描画を伴うテスト
 ◦  Jasmine-domプラグインを利用
 ◦  実際にブラウザ上に描画して実行する
あとは
コードを見ながら
説明します
  setFixture関数にDOMオブジェクト
 渡す
 ◦  Sandbox関数でHTMLからDOMオブジェ
    クトを簡単に作れる
  waitsFor∼run関数を使う
  waitsFor
  ◦  関数と時間を渡す
  ◦  関数がtrueを返す or 時間が経過するまで
     待つ
  run
  ◦  関数を渡す
  ◦  テスト用の単一の実行キューに処理を
     突っ込む
  ◦  waitsForとかがここに入れないと反映さ
     れない
まとめ
すぐにテストが
動く環境がないと
TDDのハードルは
高い
Backbone.jsと
Jasmineと
Ruby on Railsで
すぐに動く環境を
値のアサーションが
出来なくても
テスト(的な何か)
書くべき

More Related Content

PDF
PDF
JS開発環境を晒す。
PDF
Javaに這いよる.NET
PDF
Playで作るwebsocketサーバ
KEY
EmitJSの環境をちょこっと調べた
PDF
ServerSideJavaScript
PPTX
Getting started with node.js
PDF
最近流行りのビルドツールとは
JS開発環境を晒す。
Javaに這いよる.NET
Playで作るwebsocketサーバ
EmitJSの環境をちょこっと調べた
ServerSideJavaScript
Getting started with node.js
最近流行りのビルドツールとは

What's hot (20)

PDF
ちゃんとWeb会議スライド『Coffee script』
PDF
Node.js入門
PDF
Osaka Venture Meetup #3
PDF
Java script関数コールの追跡
PDF
Node.js を選ぶとき 選ばないとき
PDF
FirebaseとNuxtでLPを作って見た
PDF
HTML5-20100626
PDF
キメるClojure
PDF
はじめてのTDD
PDF
20150523
PDF
Node.jsでブラウザメッセンジャー
PPT
PDF
Js frameworkの紹介
PDF
SpockからRSpecにきたときの気づき #coedorb
PPTX
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用する
PDF
Gruntの罪と罰
PDF
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
PPT
Flash Playerの作り方
PDF
Mbed2013
PDF
ちゃんとWeb会議スライド『Coffee script』
Node.js入門
Osaka Venture Meetup #3
Java script関数コールの追跡
Node.js を選ぶとき 選ばないとき
FirebaseとNuxtでLPを作って見た
HTML5-20100626
キメるClojure
はじめてのTDD
20150523
Node.jsでブラウザメッセンジャー
Js frameworkの紹介
SpockからRSpecにきたときの気づき #coedorb
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用する
Gruntの罪と罰
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Flash Playerの作り方
Mbed2013
Ad

Similar to JasmineによるJavascriptテスト駆動開発 (20)

PDF
Javaで1から10まで書いた話(sanitized)
KEY
Jenkins javascript ci
PDF
Web制作勉強会 #2
PDF
SDLoader SeasarCon 2009 Whire
PPTX
2016/12/17 ASP.NET フロントエンドタスク入門
PDF
Awsで実現するseleniumテスト高速術
PDF
React Native GUIDE
PDF
TypeScript 言語処理系ことはじめ
PDF
モダンJavaScript環境構築一歩目
PDF
Play frameworkの概要
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
PDF
MoteMote Compiler Plugin
KEY
GroovyなAndroidテスト #atest_hack
PDF
Rubyで始めるWebスクレイピング
PDF
Introduction pp.js
KEY
Functional Testing in #YAPCASIA
PPTX
Heap statsfx analyzer
PPT
Antのススメ
PDF
Gradleどうでしょう
PDF
Web技術勉強会 第33回
Javaで1から10まで書いた話(sanitized)
Jenkins javascript ci
Web制作勉強会 #2
SDLoader SeasarCon 2009 Whire
2016/12/17 ASP.NET フロントエンドタスク入門
Awsで実現するseleniumテスト高速術
React Native GUIDE
TypeScript 言語処理系ことはじめ
モダンJavaScript環境構築一歩目
Play frameworkの概要
はてなにおける継続的デプロイメントの現状と Docker の導入
MoteMote Compiler Plugin
GroovyなAndroidテスト #atest_hack
Rubyで始めるWebスクレイピング
Introduction pp.js
Functional Testing in #YAPCASIA
Heap statsfx analyzer
Antのススメ
Gradleどうでしょう
Web技術勉強会 第33回
Ad

More from Yoichi Toyota (20)

PDF
超フランクにスクラムの大事なことの話をする
PDF
ジャワカレーをおいしく作る最後の一押し
PDF
ライブラリを作る思考回路
PDF
DynamoDB設計のちょっとした技
PDF
はじめてのDynamoDBスキーマ設計
PDF
オブジェクト指向についてあまり知られていないこと
PDF
Ruby is comming ractor編
PDF
array.map(&:key)ってなんやねん
PDF
はじめてのPull Request
PDF
Railsの開発環境作るぞ
PDF
jqで極めるシェル芸の話
PDF
足し算をつくろう
PDF
React Hooksでカスタムフックをつくろう
PPTX
ActionCableのクライアントはRails外から利用できるのか
PPTX
サーバーレスアプリケーションの作り方
PDF
SPA時代のOGPとの戦い方
PDF
AWS WAFでらくらくファイアーウォール生活
PDF
Docker in production
PDF
How to fight against “full scratch disease”
PDF
Amazon lexを触ってみた
超フランクにスクラムの大事なことの話をする
ジャワカレーをおいしく作る最後の一押し
ライブラリを作る思考回路
DynamoDB設計のちょっとした技
はじめてのDynamoDBスキーマ設計
オブジェクト指向についてあまり知られていないこと
Ruby is comming ractor編
array.map(&:key)ってなんやねん
はじめてのPull Request
Railsの開発環境作るぞ
jqで極めるシェル芸の話
足し算をつくろう
React Hooksでカスタムフックをつくろう
ActionCableのクライアントはRails外から利用できるのか
サーバーレスアプリケーションの作り方
SPA時代のOGPとの戦い方
AWS WAFでらくらくファイアーウォール生活
Docker in production
How to fight against “full scratch disease”
Amazon lexを触ってみた

JasmineによるJavascriptテスト駆動開発