what is jspec

Post on 06-May-2015

1.157 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

oblove 2009 summer LT

TRANSCRIPT

JSpec のご紹介JavaScript Testing Framework

オブジェクト俱楽部 /(株)永和システムマネジメント家永 英治

自己紹介カットさっそく本編

What: JSpec?JSpec ってな~に?

What: JSpec?• JavaScript Testing Framework

• RSpec 風の記述

• describe, before_each, it, should ...

• 豊富な語彙の Matchers

• eql, include, be_true, hava_tag, throw_error ...

JSpecを使った Spec Code の記述例

http://visionmedia.github.com/jspec/注) RSpecじゃないよ!

• JSpec(RSpec)の特徴

• Test as Specification!

• Test as Documentation!

読書会もやってるよ

おすすめ♪

合わせて、読みたい良書

待望の邦訳!

近日発売!

Who: JSpec?誰が、JSpecを使う?

Who: JSpec?

• JavaScript系のWebアプリケーションエンジニア

• RSpec系が好きな人

Why: JSpec?JSpecを使う 理由/動機 は?

Why: JSpec?

• 意図の明確なSpec Code / Product Codeを書きたい!

• 手動テストのみだと確認が手間!

Example: JSpecOX ゲームを例に JSpec を素振りしてみたよ

OXO

X

http://github.com/haru01/Learning-JSpec-JQuery/tree/master

OXゲームの仕様

• 3x3のOX盤

• もし O が3つ並べば 、O の勝ちであること

• もし X が3つ並べば 、X の勝ちであること

• もし最後まで並ばなければ 、引き分けであること

OXO

X

ネーミングで迷ったところ

judgeメソッドの実装

ネーミングで迷ったところ

ネーミングで迷ったところ

• 時間が余ったので• 銅鑼が鳴るまで• デモして• 書いたコードを眺めるよ

See Also

• http://visionmedia.github.com/jspec/

• http://github.com/haru01/Learning-JSpec-JQuery/tree/master

没スライド

OXゲームの仕様 1

• プレーヤ

• 奇数手は O であること

• 偶数手は X であること

OXO

X

ProductCode

ブラウザ

ProductCode

SpecCode

JSpecを使えばクリック数、目視の確認数が減少

Red, Green, Refactoringの黄金の回転率が上昇!

※)上図の下部は、極端にSpec Code のみでProduct Codeの動作確認をしているが、現実では自動と手動の併用になる

ブラウザ

豊富なMatchers-JSpecの特徴

豊富なMathers (core)

• eql

• be_null

• be_empty

• be_true

• be_false

• be_greater_than

• be_less_than

• have

• have_length

• include

• match

• throw_error

• respond_to

.... etc

豊富なMathers (jQuery)

• have_tag

• have_child

• have_many

• have_text

• have_attr

• have_class

• have_value

• be_visible

• be_hidden

• be_enabled

• be_disabled

• be_selected

• have_id

.... etc

top related