gist

2012年4月2日月曜日

ZombieとMochaでテストをはじめる

Zombieは、ブラウザをエミュレートできる軽量なテスティングフレームワークです。

Mochaと組み合わせると、わかりやすくテストを書くことができます。

$ npm install zombie mocha expect.js

Googleにアクセスしてタイトルが一致しているかテストを書いてみます。

Mochaを使いますので、test ディレクトリを作成し、その中にテスト用のファイルを作成します。

test/googleTest.coffee


expect = require 'expect.js'
Browser = require 'zombie'
browser = new Browser()

describe 'Googleのテスト', ->
  it 'google.comにアクセスできる?', (done) ->
    browser.visit 'http://www.google.com', ->
      expect(browser.text 'title').to.equal 'Google'
      done()

テストを実行してみます。

$ mocha -R spec


  Googleのテスト
    ✓ google.comにアクセスできる? (1093ms)


  ✔ 1 tests complete (1095ms)

googleのテストができました。

検索してみます。

expect = require 'expect.js'
Browser = require 'zombie'
browser = new Browser()

describe 'Googleのテスト', ->
  it 'google.comにアクセスできる?', (done) ->
    this.timeout 5000
    browser.visit 'http://www.google.com', ->
      browser
      .fill('q','Zombie')
      .pressButton 'Google 検索', () ->
          expect(browser.text 'title').to.equal 'Zombie - Google 検索'
          done()

fillでテキストを入力し、pressButtonでボタンを押しています。timeoutで5秒を指定しています。

$ mocha -R spec


  Googleのテスト
    ✓ google.comにアクセスできる? (2354ms)


  ✔ 1 tests complete (2355ms)

うまくテスト出来ました。ブラウザをエミュレートして画面のテストができそうです。

0 件のコメント: