テストを書く目的 自分の書いたコードが意図した通りに動いてるか確認するために書くのですが、自分が楽をするためと他の人のために書いてます。 自分が楽するため Webアプリの場合、実装した機能がちゃんと動作するかを確認するために何度もブラウザポチポチしてというのは時間がかかります。なのでその回数をなるべく減らすためにテストとして書けるところはなるべくテストで確認して、ブラウザポチポチする回数を必要最低限にしたいと思っています。 ブラウザポチポチするのも立派なテストだと思っています。再現性のない。 他の人のため テストがないと他の人がその機能に関連する機能を変更しようとした時に変更の影響がないのか確認することが出来ず、その機能に対するテストを手動で行わせてしまうことになってしまいます。 テスト書く時間がない問題 テストの話をすると書く時間がないと言われたりしますが、既存の開発の流れにテスト書くこ
Testing Backbone applications with Jasmine and Sinon Part 3: Routers and Views 26 April 2011 Overview This is the third and final part in a series of articles demonstrating how to test a Backbone.js application, employing the Jasmine BDD test framework and the Sinon.JS spying, stubbing and mocking library If you haven’t yet read the first or second parts, take a look now. In this final part, we’ll
Unit testing JavaScript with Promises and Jasmine by Carlos Ble | Mar 22, 2013 | JavaScript, Test Driven Development | 3 comments Promises are a nice solution to write readable asynchronous code in JavaScript. If you understand Spanish, I highly recommend this great talk on Promises by Enrique Amodeo. But, is the code with promises easy to unit test? It’s not very difficult, you have to take into
Update: A lot of readers have commented or tweeted that I shouldn’t be unit testing private functions in the first place. Admittedly, this article is a little light on the why and mainly focuses on the how. To explain some of my rationale, I wrote a follow-up article: Why I Test Private Functions In JavaScript JavaScript’s closures provide an excellent way to make variables and functions private,
前回に引き続いてSinon.JSの話しです。今回はFake timer と Fake server についてです。 テストフレームワークにはQunitを使っているので、初めての方はQUnitについての記事[その1、その2、その3]を参照してください。 Fake timer Fake timerを使うと時間をコントロール出来る様になります。 APIドキュメントにある例を少し変えて、次の様なテストを作りました。この例では動的に作成したdivのwidthとheightを5分掛けて200pxにアニメーションさせていますが、このテストを5分間待つ事なく終わらせる事ができます。進める時間を1分と4分に分けてみました。これで実際に時間がコントロール出来ているのが分かると思います。1分進めた段階ではwidth,heightどちらとも200pxになっていないのでエラーになります。 test("fake ti
QUnitについてある程度分かった所で、今回はSinon.JSというライブラリを紹介します。 Sinon.JSをテストフレームワークと合わせて使う事で様々なテストができる様になります。特定のテストフレームワークには依存していないのでQUnit以外でも使えます。Sinon.JSのサイトに行けばいくつかのテストフレームワークのアダプタがあります。 Sinon.JSにはいくつかの機能があるので順に紹介します。今回はSpyとStubとMockの3つについてです。テストフレームワークにはQUnitを使っています。 準備 本題に入る前に、準備です。Sinon.JSのライブラリをhttp://sinonjs.org/からダウンロードして適当な位置に配置して、テストで使うhtmlにロードしておきます。 Spy Spyは、メソッドが呼ばれた時の引数や戻り値、エラーなどを監視する事ができます。 これはSino
Hello. I'm Yuki Iwanaga, a software engineer pursuing beauty in both design and engineering
同じディレクトリにJsTestDriver.confを作成してください。拡張子は.confですが、中はyamlで書きます #夜のJSTDD
Karmaとは 昨年、Googleがnode.jsベースのJavaScriptテストランナー、「Testacular」をオープンソース化しました。 このツールは元々AngularJSのためのテストフレームワークとして作られたそうで、 クライアントサイドのJavascriptコードのテストを簡単に実行することができます。 このツール自体はテストランナーで、JasmineやMochaなどのテストフレームワークを使用してテストを行います。 先日このプロジェクトの名前が変更され、「Karma」という名前になりました。 今回はKarmaのインストールからテスト実行(+ Gruntでの実行)までをおこなってみます。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.4 Node.js : v0.10.0 npm : 1.2.14 Grunt : 0.4 npm
Jasmine is a behavior-driven development framework for testing JavaScript code. It does not depend on any other JavaScript frameworks. It does not require a DOM. And it has a clean, obvious syntax so that you can easily write tests. This guide is running against Jasmine version FILLED IN AT RUNTIME. Suites: describe Your Tests A test suite begins with a call to the global Jasmine function describe
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く