Fast Site Testing with ExpectThat using CoffeeScript, Zombie, Mocha, and Node
A few posts ago, I showed how to use ExpectThat with Mocha and Node.js. Today, I'll show a simple example of using ExpectThat with Zombie.js--a full-stack testing framework.
Zombie.js
Zombie.js is a fast, headless testing framework that provides various
functionality to write tests that hit your full technology stack. While I
generally prefer to write more fine-grained, isolated tests, it's
important to also have a few smoke tests and/or integration tests to
verify end-to-end functionality. Zombie makes these kinds of tests easy,
while allowing me to still use ExpectThat and Mocha.
The Example
Here's a simple example that populates two input elements and
then verifies that the values of those input fields contain the expected
text.
zombie = require("zombie")
require("expectThat.mocha")
browser = new zombie.Browser()
describe "When populating two text boxes", ->
expectThat "they should have values of foo and bar", (done) ->
browser.visit "http://127.0.0.1/~dmohl/mocha-zombie/specs.html", ->
browser
.fill(".search", "foo")
.fill("#test", "bar")
input1 = browser.querySelector ".search"
input2 = browser.querySelector "#test"
input1.value.should equal "foo"
input2.value.should equal "bar"
done()
You can find the full example here.
After a few commands such as " coffee --output lib/ specs/ " and " mocha
'lib/example.spec.js' --reporter spec ", you should see an output that
looks something like this:
To learn more about ExpectThat, visit https://github.com/dmohl/expectThat.
Source: http://bloggemdano.blogspot.com/2012/02/expectthat-with-coffeescript-zombie.html
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)





