*

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アドセンス




関連記事

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

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

記事を読む

no image

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

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

記事を読む

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

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

記事を読む

no image

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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 ↑