LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

Jasmineを触ってみる

Posted at

目的

Hello WorldをJasmineでテストしてみる

使ったもの

ではスタート

テスト準備

Jasmineのlibをプロジェクトに入れる

ダウンロードしたJasmineのzipを展開して、その中のlibフォルダをJsSampleプロジェクトの下に突っ込む。

フォルダ構成を少し変える

フラットに作るとわかりにくいため、テストで必要なものをすべてtestフォルダに詰める。
JS2_1.png

hello.jsのテストメソッドを作る

間違えたらどういった表記になるのかを見るため、わざと結果を間違えたテストメソッドも作る。

testHello.js
describe('showHello関数のテスト', function() {
    it('name=tori、msg=おめでとうにすると、「Hello World,tori!おめでとう」になる', function(){
        expect(showHello("tori", "おめでとう")).toBe("Hello World,tori!おめでとう");
    });

    it('name=huyu、msg=おめでとうにすると、「Hello World,huyu!おめでとう」になる(わざと失敗)', function(){
        expect(showHello("huyu", "おめでとう")).toBe("Hello World,tori!おめでとう");
    });
});

テスト用のhtmlを作る

  • 展開したzipファイルの下にSpecRunner.htmlがあるため、それがテンプレートとして使える。また、下記の記事を参考にさせていただいた。

  • SpecRunner.htmlを変えた部分は2点

    • <!-- include spec files here... -->の記述を削除
    • <!-- include source files here... -->部分を自分で作成したファイル名に変更
testHello.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Jasmine Spec Runner v2.3.4</title>

  <link rel="shortcut icon" type="image/png" href="lib/jasmine-2.3.4/jasmine_favicon.png">
  <link rel="stylesheet" href="lib/jasmine-2.3.4/jasmine.css">

  <script src="lib/jasmine-2.3.4/jasmine.js"></script>
  <script src="lib/jasmine-2.3.4/jasmine-html.js"></script>
  <script src="lib/jasmine-2.3.4/boot.js"></script>

  <!-- include source files here... -->
  <script src="../hello.js"></script>
  <script src="testHello.js"></script>

</head>

<body>
</body>
</html>

テスト実行

作成したtestHello.htmlをWebブラウザで表示する。
JS2_2.png

Spec Listをクリックすると、全テストが表示できる。
JS2_3.png

テストメソッドを修正してテストケースがすべて成功すると、赤表示がなくなりエメラルドグリーンになる。
JS2_4.png

こういったテストフレームワークはJUnitくらいしか見たことがないが、Jasmineは見た目が優しい。JavaScriptに関連するツールってどうしてこんなに可愛いんだろうか。
見て楽しいのはかなりモチベーションに影響するなあ、と思う今日この頃。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up