-
Notifications
You must be signed in to change notification settings - Fork 1
Jasmine
comutt edited this page Oct 2, 2012
·
3 revisions
各自のブラウザで Jasmine のサンプルテスト (SpecRunner.html) が正常に動くことを確認してください。
-
このリポジトリの zip 版 をダウンロード
-
展開
-
jasmine-1.2.0/SpecRunner.html をブラウザで開きます。
-
以下のように、テストが正常に実行されればOKです。
- 実装となるソースコードを用意する
- たとえば、以下のような実装を
src/Greeter.js
で用意する
- たとえば、以下のような実装を
function Greeter() {}
Greeter.prototype.hello = function() { return "こんにちは"; };
Greeter.prototype.goodbye = function() { return "さようなら"; };
var greeter = Greeter(); ```
- テストコードファイルを用意する
- たとえば、以下のようなテストコードを
spec/GreeterSpec.js
で用意する
- たとえば、以下のようなテストコードを
// まず、全体を describe()
で囲います
describe("Greeter", function() {
// テスト対象クラスのインスタンス
var greeter;
// 各テスト実行前に必ず実行される前処理を ``beforeEach()`` の中に書きます
beforeEach(function() {
// 毎回インスタンスを生成する
greeter = new Greeter();
});
// 各メソッドのテストケースを ``describe()`` の中に書きます
// Greeter.hello() のテストケース
describe("hello()", function() {
// テストパターンごとに ``it()`` の中にテストを書きます
it("こんにちは", function() {
// expect(テスト対象メソッド呼び出し).toEqual("期待値") のようにテストを書きます。
// toEqual() の他に、
// 正規表現マッチする toMatch(/正規表現/)
// true であることをテストする toBeTruthy()
// undefined でないことをテストする toBeDefined()
// null であることをテストする toBeNull() などがあります。
expect(greeter.hello()).toEqual("こんにちは");
// たとえば「~と等しくない」というテストを書く場合は、
// expect(greeter.hello()).not.toBeEqual("さようなら");
// のように、 .not. を挟みます
});
});
// Greeter.goodbye() のテストケース
describe("goodbye()", function() {
it("こんにちは", function() {
expect(greeter.goodbye()).toEqual("さようなら");
});
});
}); ```
-
GeetingSpecRunner.html
などの名前でテストランナーHTMLを作成し、ブラウザで実行(開く)します。 - ブラウザに、テスト結果が表示されます。