Our (Lookback’s) experience in testing our Meteor app is quite poor. We’ve used mUnit (being deprecated), Jasmine, and Mocha for package tests, and briefly tried out Jasmine for app integration/unit tests. We also tried Nightwatch for E2E tests in Selenium.
TinyTest (and mUnit) is working alright for packages. But not all code is in packages. Meteor app testing lacks:
- de facto patterns
and because of that, we didn’t want to put in the time of going through the hoops of ductaping something together. Thus we went with E2E testing with Nightwatch instead, in order to test critical views of our application for breakage when we deployed to the CI server.
It worked mostly alright, but the Nightwatch thing was never a part of the Meteor app. The syntax was kind of weird, and we had to to hacky things to load fixtures.
Then we tried out Xolvio’s Cucumber package, which also worked. But the Gherkin syntax is weird until you get used to it (personally, I just feel it’s in my way). But we discovered that the Cucumber tests would randomly fail once in a while, making us distrust our E2E tests all together.
I really, really think MDG should put in some resources (like, hire 1-2 people, like another poster said) to take what’s best of the community frameworks, and develop some fundamental patterns and packages. This, along with a built-in router, are things that should be in the core of a 1.0+ framework imo. This sounds whiny and negative, and I know MDG are swamped with stuff. But still.