*

Jasmine(JavaScriptテスティングフレームワーク)入門【Matcher編】

公開日: : 最終更新日:2014/05/26 JavaScript, プログラミング, 技術情報 , , ,


スポンサードリンク



Jasmineにおける実際のテストケースの作成方法をMatcherをメインに記載します。

JasmineでJavaScriptする。じゃあ反対ですね・・・
JavaScriptでJasmineする時に利用するテスト用メソッドがMatcherとなります。

まずはbuilt-in Matcherです。

Matcher 利用例 説明
toEqual expect(x).toEqual(y) xとyの値が一致するかを検証する。
toBe expect(x).toBe(y) xとyが同一オブジェクトかを検証する。プリミティブ型はtoEqualと同じ動作
toBeTruthy expect(x).toBeTruthy() xがtrueかを検証する。
toBeUndefined expect(x).toBeUndefined() xが定義されていないことを検証する。
toBeNull expect(x).toBeNull() xがnullであることを検証する。
toBeNaN expect(x).toBeNaN() xがNaNであることを検証する。NaN===Nanがfalseとなる値がNaN
toBeDefined expect(x).toBeDefined() xが定義されていることを検証する。
toContain expect(x).toContain(y) yがxに含まれることを検証する。x,yは配列or文字列
toMatch expect(x).toMatch(y) yがxにマッチすることを検証する。xは文字列,yは正規表現
toBeLessThan expect(x).toBeLessThan(y) yがxよりも小さいことを検証する。
toThrow expect(function(){ 処理}).toThrow(“例外のメッセージ”) 処理が行われたときに「例外のメッセージ」をメッセージとする例外がスローされることを検証する。

 

以下にtoEqual、toBe、toContain、toThrowの利用例を記載します。
なお、Matcherではないですがnotという機能があり、論理値を逆転して値を評価することができます。
expect(1).not.toEqual(2)のように利用できます。

 

次にカスタムMatcherについて記載します。
カスタムMatcherはthis.addMatchersで追加できます。
具体的にはSpecHelper.jsを以下のような内容にします。
hogehogeMatchというカスタムMatcherを作成しています。
中身は見ての通りtrueを返すだけです。

beforeEachについははまだ記載できてないのですが、xUnitのsetUpメソッドに相当する物と考えてください。 同じくxUnitのtearDownメソッドに対応する物としてafterEachがありますが、beforeEachとafterEachの詳細は次の機会で・・・

最後にhogehogeMatchを利用するテストケースのCustomMatcherSpec.jsを以下に示します。

カスタムMatcherのhogehogeMatchを無意味に呼び出すだけです。

「Jasmine(JavaScriptテスティングフレームワーク)入門【Matcher編】」は以上です。


スポンサードリンク

Googleアドセンス

Googleアドセンス




関連記事

Jasmine(JavaScriptテスティングフレームワーク)実践【Webアプリ編】

Titanium mobileでスマホのアプリを作成しようとしているのですが、ユニットテストの仕組み

記事を読む

no image

Androidの「Action Bar Icon Pack」を調査する。

Androidアプリケーションを作成する時にはアイコンの利用はほぼ必須です。 「Action Ba

記事を読む

2014年の秋のAppleのプレスイベントがついに開催されました。「Xcode 6 GM seed」もついにリリースされました。

2014年の秋のAppleのプレスイベントがついに開催されました。 プレスイベントのページ iP

記事を読む

お勧め本紹介[JavaScript本格入門 ~モダンスタイルによる基礎からAjax・jQueryまで]

本日は私がいつも手元に置いているJavaScript本を紹介させていただきます。 「JavaS

記事を読む

Jasmine(JavaScriptテスティングフレームワーク)入門【導入編】

Titanium Mobileを使ってスマホのアプリを作成しようと考えているのですが、 テスティン

記事を読む

動画で英語を学習できるiOSの無料アプリCapTubeをリリースいたしました。

個人では初となるiOSアプリをリリースいたしました。 何度もリジェクトをくらいながら、開発開始

記事を読む

iOS8開発者向けお勧め本紹介[詳細! Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応]

iOS7開発者向けお勧め本紹介を以前に紹介させていただきまいたが、今回は同じ著者(大重美幸様)の本を

記事を読む

no image

スマートフォン向けのアプリケーション開発フレームワークを比較してみる。

本日のエントリーではスマートフォン向けのアプリケーション開発フレームワークを比較してみようと思います

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

動画で英語を学習できるiOSの無料アプリCapTubeをリリースいたしました。

個人では初となるiOSアプリをリリースいたしました。 何度もリジ

no image
Ruby on rails4系でBootstrapを利用するためのtips

MacでRuby on rails4系のBootstrapを利用しよう

no image
Java、Eclipse、JUnit関連のエントリーの移行のお知らせ

Java、Eclipse、JUnit関連のエントリーは http:/

iOS8開発者向けお勧め本紹介[詳細! Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応]

iOS7開発者向けお勧め本紹介を以前に紹介させていただきまいたが、今回

Swift入門(Xcode6のXCTestフレームワークで学ぶ) 第二回「関数(メソッド)とクロージャーの利用方法」

前回はSwiftの概要をザックリと説明させていただきました。 今

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑