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 件のコメント:
コメントを投稿