こしごぇ(B)

旧:http://d.hatena.ne.jp/koshigoeb/

QUnit + QUnit-TAP + PhantomJS

そろそろ真面目に JavaScript を書くことになりそうなので、テストの準備をし始めたところです。

まずは QUnit を使う準備。Mocha が気になりつつ、周囲の経験的に QUnit が有力くさいので。

$ mkdir qunit-sample
$ cd qunit-sample
$ mkdir test
$ mkdir -p vendor/qunit
$ curl -o vendor/qunit/qunit-git.js http://code.jquery.com/qunit/qunit-git.js
$ curl -o vendor/qunit/qunit-git.css http://code.jquery.com/qunit/qunit-git.css
$ mkdir -p vendor/qunit-tap
$ curl -o vendor/qunit-tap/qunit-tap.js https://raw.github.com/twada/qunit-tap/master/lib/qunit-tap.js
$ cat <<HTML > index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>QUnit Example</title>
  <link rel="stylesheet" href="vendor/qunit/qunit-git.css">
</head>
<body>
  <div id="qunit"></div>
  <script src="vendor/qunit/qunit-git.js"></script>
  <script src="vendor/qunit-tap/qunit-tap.js"></script>
  <script>
    qunitTap(QUnit, function() { console.log.apply(console, arguments); }, {noPlan: true});
  </script>
  <script src="test/tests.js"></script>
</body>
</html>
HTML
$ open index.html
$ tree
.
├── index.html
├── run-qunit.js
├── test
│   └── tests.js
└── vendor
    ├── qunit
    │   ├── qunit-git.css
    │   └── qunit-git.js
    └── qunit-tap
        └── qunit-tap.js

ブラウザでテストが通る事を確認したら PhantomJS でも実行してみる。

$ brew install phantomjs
$ curl -o run-qunit.js https://raw.github.com/ariya/phantomjs/master/examples/run-qunit.js
$ phantomjs run-qunit.js index.html