Today I Learned

A Hashrocket project

Testem supports parallel execution!

It actually has for a while but it had some limitations. Itโ€™s recently been updated and can speed up your tests greatly! LinkedIn used this feature to take their test suite from 40 minutes to 2 minutes! ๐Ÿš€๐Ÿ˜†โค๏ธ

You can define multiple test pages to split up the tests by filters:

{
   "test_page": [
     "tests/index.html?filter=acceptance",
     "tests/index.html?filter=integration",
     "tests/index.html?filter=unit"
   ]
 }

You can even set the number of parallel workers manually or set it to -1 to have testem max out whatever your CI server can handle:

{
  "parallel": "-1"
 }

If you want to do this in Ember youโ€™re in luck! ember-exam makes this super easy! Thanks Trent Willis!

$ ember exam --split=<num> --parallel