Speeding package tests


#1

Our application makes use of several local packages. These packages break out our platform into several components (such as schemas, bizrules and methods). Additionally, these packages are used in more than one “umbrella” Meteor application project.

We are using circleci to run tests against these packages. The commands look something like this:

meteor test-packages ./packages/package1 --driver-package=dispatch:mocha --port 3030 --once
meteor test-packages ./packages/package2 --driver-package=dispatch:mocha --port 3030 --once
meteor test-packages ./packages/package3 --driver-package=dispatch:mocha --port 3030 --once
etc…

There is considerable time setting up the packages (for things like mongo initialization). In general, each package takes somewhere between 2 - 3 minutes to complete of which most of it is doing the Meteor initialization.

Is there a way to speed testing several local packages? Perhaps sharing the initialization? Using a non-local mongo instance? Running test on the umbrella app instead of the packages?

Any suggestions are greatly appreciated.