meteor add mike:mocha
This meteor package allows you to easily and safely run mocha tests within Meteor. It is built upon the Velocity testing framework.
Here's an example using CoffeeScript (or check out the full Meteor project w/ tests)
MochaWeb?.testOnly ->
describe "Leaderboard", ->
describe "givePoints", ->
it "gives 5 points to the user", ->
#create a player
playerId = Players.insert {name: "TestUser1", score: 5}
Session.set "selectedPlayer", playerId
# wait 100ms for button to appear, then continue
setTimeout (->
$('button.inc').click()
player = Players.findOne(playerId)
chai.assert.equal 10, player.score
Players.remove playerId
done()
), 100
The above test will work with the leaderboard
example shipped with Meteor 1.0.
- Create the app with
meteor create --example leaderboard
- Change the current working directory to
leaderboard
- Start the app by running
meteor
- Add CoffeeScript support with
meteor add coffeescript
- Create the directory
tests/mocha/client
- Save the above test code in a file called
tests/mocha/client/leaderboard.coffee
- Navigate to the app (http://localhost:3000/ by default) and click the Velocity icon in the upper right to see test results
You're free to write your tests in any Meteor supported extension. The chai assertion library is included within this package for your convenience.
(requires Meteor 0.9+)