This article will be replaced / archived as soon as I've tried Chimp 2.0 when its released. Right now I find automated tests in Meteor a bit cumbersome and restricted and that's why I've decided to create this placeholder article. Just to explain some of the progress and recommendations for right now.
This article will be part 5 of The Continuous Integration guide for Meteor on AWS CodeStar.
Unfortunatly I'm myself still experimenting with what's the best way of testing Meteor. Not because I've never done it, but because I find this particular part of Meteor still lacking / more difficult then in traditional frameworks. As Meteor's guide describes it quite good: "Testing in Meteor is a bit different with its on specific set of challenges". I will not 'yet' give you the guide of integrating it with CodeStar. See this as a placeholder and temporary instruction of how to deal with testing in Meteor right now!
Later on for this article I will share my first thoughts on using Chimp 2.0. I will provide a complete guide on how to integrate it with AWS CodeStar and more specifically AWS CodeBuild. Chimp 1 is already one the most complete testing platforms I've seen so far for Node and Meteor, but I've experienced some pains with for example using CucumberJS. Chimp v1 still uses Cucumber 1 and some of the core things like error reporting are supported from later versions of Cucumber. My main concern is that I don't want to do extra work in explaining work-arounds and therefore I'm going to wait with this article. According to Sam Hatoum it will take a few weeks (from the time of this writing) to finish and deliver it to the world.
Meteor has a couple of ready to go packages for unit testing. I'm happilly using these packages. practicalmeteor:mocha is awesome to work with as development tool. If your preference is working Test Driven, then use that one. If the focus is on continuous integration, then use dispatch:mocha. It works well with headless browsers. The pain is that you can't use them both.
Although personally I would want to wait for Chimp 2 to serve my CucumberJS hunger in combination with its features for Meteor. Nightwatch might be a good alternative for now. Its not tailored for Meteor, but if you do have a running version of Meteor, you can use it to run UI tests. Also keep in mind that writing tests with Nightwatch has major pitfalls to be aware of!
That's it for now. As you can see. Not everything is perfect in Meteor. Luckily there's a great community where you can ask any kind of question about Meteor. As soon as Chimp 2.0 is out I will explore it, test it (hehe test it) with AWS CodeBuild and share my experiences!
Depending on how long it takes for Chimp 2.0 to be released, I will first publish an article about setting up a domain with SSL enabled for Elastic Beanstalk's loadbalancers and Meteor. Expect it to be there on the 6th of august!