Help us understand the problem. What is going on with this article?

Testemでサクサク駆動開発

More than 5 years have passed since last update.

駆動開発にて一行書き換えた度にブラウザをリロードする人いらっしゃいませんか?

複数のブラウザやモバイルなどもまとめてCIしたい方は?

今回はCLIでブラウザテストをするためのテストランナーtestemを紹介します。

testemのお勧めポイント

  • 複数のブラウザ、phantomjsでテスト可能
  • CIモードではブラウザの起動まで全自動化
  • mochaやjasmineなど人気があるフレームワークに対応済み
  • coffee-script、LESS、Browserifyなどの前処理も自動にやってくれます
  • testem ciコマンドでブラウザまで起動してくれます

インストール

npm install testem -g

使い方

testem.jsonに記述するだけで簡単に実行してくれます。

testem.json
{
  "framework": "jasmine",
  "src_files": [
    "hello.js",
    "*spec.js"
  ]
}

対応出来るフレームワークは以下の通り。

  • Jasmine
  • QUnit
  • Mocha
  • Buster.js
  • アダプターさえ書けば何でも有り

testemコマンドを実行するとhttp://localhost:7357にサーバが立ち上がり、テスト開始。

Testem

テスト中は上下キーでレポートをスクロールします、又左右キーでブラウザを切り替えます。リターンで強制リロード。

socket.ioでブラウザと通信しますので、コマンドはブラウザに即反映されますし、エラーするとCLIにもほぼリアルタイムで反映されます。

エラー

自分でテストページを書きたい方は

testem.json
{
  "test_page": "tests.html"
}
tests.html
<script src="/testem.js"></script>

と記述すればおk

前処理

coffee-scriptなど前処理が必要な場合は

testem.json
{
  "before_tests": "coffee -c *.coffee",
  "src_files": [
    "*.coffee"
  ],
  "serve_files": [
    "*.js"
  ]
}

困った時のtips

色んなフレームワークと組み合わせるとき参考になるサンプル。
https://github.com/airportyh/testem/tree/master/examples

testem launchersコマンドでCIモードに対応するブラウザ一覧

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした