"use strict" # parent # controller angular.module("myApp") .controller("ParentItemCtrl", ($scope, Child) -> #....... @removeChildItem = (childId, index)-> Child.destroy({childId: childId}, -> $scope.parent.cildren.splice(index, 1) ) ) # parent directive angular.module("myApp") .directive("parentItem", -> restrict: "EA" templateUrl: "templates/parent_item.html" controller: "ParentItemCtrl" scope: p
対象読者 JavaScriptの基本をある程度理解している方 テストコードをこれから書こうと考えている方 Jasmineとは Jasmineとは、JavaScriptのテスティングフレームワークです。Mochaなどのテスティングフレームワークとは違い、値を評価するためのアサーションモジュールも内包されています。また、CoffeeScriptでの記述も可能です。 Jasmineは振る舞い駆動(BDD)の形式でテストを記述します。BDDは、作成する機能に期待する「振る舞い」を文章で記述していきます。言い換えると、顧客が望んでいるであろう「要求仕様」に近い形でテストを表現しながら、テストと実装を記述していく手法です。 リスト01は、Jasmineで記述した基本的なテストコードです。このコードを文章として日本語に直訳すると「【処理結果】が【期待する値】と同じでないと予測(expect)する」です。
はじめに テストコードを書けない、書こうとしない毎日をおくっていましたが、 いよいよ逃げ切れなくなってきたので、頑張ってやってみたいと思います。 間違っていたらコメントいただければありがたいです。 ユニットテストが必要なケース いきなりなのですが、私だけかもしれませんが、ユニットテストの入れどころがよくわからなかったです。 他の方の引用になるが、下記などがユニットテストしたほうがよい項目の参考になるかもしれません。 LV.10 フロントエンドのユニットテスト ・複数箇所で共有する汎用のJSモジュールを作成した場合 ・AJAXを利用したAPIとの通信が発生する場合 ・データを処理するビジネスロジックが発生した場合 ・関数へ渡す引数パターンが複数存在する場合 前提 KarmaとJasmineを使う。 angularjsも使う。 Karma テストフレームワーク。 テスト環境を提供するツールです
JasmineとはJS用のテストフレームワークです。 Jasmineの他にもJ javascriptのテストフレームワークは色々な種類があります。認知度が高いのは以下のフレームワークでしょうか。 QUnit Mocha JsTestDriver 上記のフレームワークと比べてもJasmineは人気の高いフレームワークです。 現在案件でも使用しているので、Jasmineの導入から使い方までをおさらいしとこうと思う。 実際は、テストランナーやタスクランナーなどと組み合わせているけど、長くなりそうなので今回は基本のみ。 メリット 品質を担保できる 機能が追加された場合にエラーを検知できる メリットとしてはこんな感じ。それぞれの機能の品質は担保され、いろんな状況を考慮しながらテストを書くと変化にも強くなる。 「あの機能もつけてー」と意味分からない注文がきた場合でも、元の機能が死んでいないかを検知する
日頃からJavascriptで開発をしているのにも関わらずあまりテストを書かないので、ここは本格的にテストを書こうと調べてみました。JavascriptのテストフレームワークといったらJsUnitなのかなーと思っていたが、調べてみると結構いろんな種類のテストフレームワークがあったりして、その中で得に人気なのかどうやらJasmineらしい。 Jasmine ~ JavaScript Test フレームワーク より引用: 今回は, JavaScript のテストを行うためのフレームワークJasmine の紹介です。 JavaScript のテストといえば, JSUnit が有名です。 JSUnit は, JUnit とに似たような, Matcher が利用できたりしてわかりやすいのですが, 開発やメンテナンスがストップしており, またWebプロジェクトに組み込まないと利用できないことが ちょっ
本コーナーは、技術評論社発行の書籍『JavaScriptライブラリ実践活用[厳選111]』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。 『JavaScriptライブラリ実践活用[厳選111]』の詳細や購入は技術評論社のサイトや目次ページをご覧ください。 Jasmineでテスト対象オブジェクトが持つメソッドの戻り値を固定値に変更したり、そのメソッドが実行されたかどうかを検証したりするために、Spy(スパイ)を使用します。 名称: Jasmine 分類: テスト URL: http://pivotal.github.com/jasmine/ 関連ファイル: jasmin.js、jasmin-html.js、jasmin.css JasmineのSpy(スパイ)機能 Webサービス呼び出しなど外部の処理を呼び出している箇
Jasmine ってなに?Jasmine は JavaScript 用のビヘイビア駆動開発テスティングフレームワークです。 よくテスト駆動開発(TDD)とか言いますが、ビヘイビア駆動開発(BDD)は TDD の派生系で、要求仕様に近い形で自然文を併記しながらテストコードを記述できるという特長があります。 ※ 詳しくは Wikipedia - ビヘイビア駆動開発 を参照 テスティングフレームワークってどんなもの?ここまで進めておいて何ですが、人によってはそもそもテストってなに?という疑問も浮かぶと思います。 表面的というか取っ付きやすい答えとしては、書いたコードの妥当性を保証するのがテストと言えると思いますが、本質的な意味合いとしては仕様・設計を実装に落とし込む助けとなるもの、つまりコードの品質を高めるものだと思います。 後者の意味合いはコチラやアチラを読むと納得しやすいと思います。 では本
JavaScript のテストフレームワーク jasmine がゴキゲンだぜ。書きやすいしテスト結果も見やすいしかわいいよちゅっちゅ。 そんな jasmine ちゃんをまだ触ったことない人のために、出来るだけ取っ付き易くなるように解説してみたいと思います。拙作の jQuery プラグイン jquery.narrows.js のテストでも使っておりますので、これをサンプルとして説明していきます。 使用するバージョンは jasmine 2.0.0 RC5 スタンドアローン版。2系はまだRC版ですが、使っていて特に不具合に出くわしたことはないです。2系になって大きく改善してる部分もあるので、アグレッシブに使っていきましょう。(Rubyフレームワーク用の gem 版(jasmine-gem)というのもありますがここでは触れません) まずは見てみよう とりあえず実際に動くものを見てみましょう。jqu
調べるのに少し時間がかかったので、メモがてら、書いておきます。(これが良いやり方なのかはわかりませんm(_ _)m) gulpとkarmaをグローバルでインストールします。 $ sudo npm install -g gulp karma どうもkarmaにパスが通っていないようなので、パスを通しておきます。 $ sudo ln -s /usr/lib/node_modules/karma/bin/karma /usr/local/bin/karma (2014/05/23 追記: 上記、Ubuntu13.10上です。Macだと "/usr/local/lib/node_modules/karma/bin/karma" でした。) 必要なパッケージをローカルにインストールします。 $ mkdir xxx && cd xxx $ npm install --save-dev gulp gul
PhantomJSとJasmineで振る舞い駆動開発なJavaScriptテスト:フレームワークで実践! JavaScriptテスト入門(2)(1/3 ページ) しっかりとJavaScriptをテストするために、今注目のJavaScript用のテストフレームワークをいくつか紹介し、その概要から実践的な使い方まで解説する連載 前回は、JavaScriptテストの基本、今回からフレーワムークを紹介 前回の「JavaScriptテストの基礎知識と使えるフレームワーク6選」では、JavaScriptのテストを取り巻く環境や、JavaScriptのテストに使用できるフレームワークの紹介を行いました。今回からは、前回の記事で紹介されたフレームワークを使用して実際にJavaScriptのテスト環境を構築し、テストを行うまでの流れを解説します。 今回は「PhantomJS」と「Jasmine」を取り上げま
さて前回の記事、「Rails4.0でangularjsを使ってRESTfulなajaxを実装する」に引き継ぎ今回はangularjsのテストについて書こうと思う。 題材には引き続き前回の内容を使うので、そちらを読んでからのほうが読みやすいかと。 ちなみにangularjsにしてもテストにしても自分自身かなり手探りで進めているため、不自然な点や改善点があればどんどん伺いたい。 実行環境 angularjsはtestableだと謳われている割にビルドインされたテスト実行環境がないので自力で整える必要がある。(しょうが無い気もする) 今回はテスト実行環境にkarma、テストフレームワークはjasmineを使用する。 前提としてnodeはインストールされているものとする。 $ npm install -g karma $ npm install -g karma-ng-scenario 以上でka
テストランナーとは、様々なブラウザでテストを実行し、その結果をまとめてレポートするためのツールを指します。Karma は Node.js 上で動作するテストランナーです。元々はTestacular という名称で Google が AngularJS の開発で使うために作ったものですが、2012 年にオープンソース化されたタイミングで業 ( カルマ ) を背負った名称に変わりました。 Karma - Spectacular Test Runner for Javascript 本記事では、Jasmine をベースにしてテストコード ( 実処理 ) を記述し、それらを Karma から実行してレポート ( テスト結果 ) を確認するという流れで進めていきたいと思います。 環境構築 前提条件 Mac OS X Yosemite node.js インストール済み (v5.4.0 ~) npm イン
こんにちは、間藤です。 巷ではGoogle製MVC(MVW)フレームワークのAngularJSが流行っているようですが、残念ながらこれまでのところ業務で利用したことはありません。どんなものかくらいは押さえておこうと数か月前に公式サイトのチュートリアルをさらってみましたが、これがなんともよく出来ていて一人で関心していました。AngularJSチームは、テストにも非常に力を入れていて、ProtractorやKarmaといったテストツール(両方ともNode.jsのパッケージです)を開発しています。Protractorは、seleniumを利用してブラウザの自動テストをJasmineで書くことができます。(Mochaなど、別のテストフレームワークも利用できますが、デフォルトはJasmineだそうです。) で、今回はKarmaです。 KarmaとJasmineの関係性を整理しながら話をすすめられたら
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く