немного дополню ... до чего я докатился
прошло время, я выкидываю karma как неэффективный инструмент (точнее, как
медленный инструмент)
я использую в работе React, а он прекрасно работает в jsdom
получается, что для тестирования компонентов не нужен браузер. Gotcha!
в общем, теперь у меня такой тулсет. для серверной части и клиентской:
- фреймворк:
Mocha. самый мощный инструмент что я видел. особо радуют xit, xdescribe, it.only, describe.only (вообще жесть)
- сами сравнения -
Chai (в режиме should),
Sinon (spy, stub) и
Chai as promised (для красивого тестирования Promise)
- окружение:
webpack (йохохо),
rewire (иньекция переменных в модули. например, подменить вызов ORM на stub из sinon),
mocha-loader (для запуска тестов mocha для файлов, которые должны обрабатываться webpack'ом) и
isparta-instrumenter (для оценки покрытия ES6 кода)