Зачем в проекте нужны и Karma и Grunt?
========================================

Мне дали задание покрыть её тестами.  

И сказали для этого использовать Grunt и Karma.  

Я почитал доки. Получается, что Grunt - это типа системы сборки, чтоб запускать разные задания и скрипты; и Karma - это система запуска тестов.   

То есть и Grunt и Karma - это "запускаторы".  
  

Кто-нибудь может мне разъяснить, в чём смысл использовать сразу оба - и Grunt и Karma?  
  

P.S. Мне уже подсказали, что вместо Grunt сегодня уже используют Gulp, но это сути не меняет - зачем нужны ОБЕ системы? 

 Karma умеет только запустить браузер и скормить ему специальную страничку. И всё, даже сами тесты надо писать с использованием других библиотек. Если честно, я 12 лет в JS, но зачем нужна Karma до сих пор не понимаю.  
  

grunt/gulp — таск-раннеры общего назначения, используются для организации всех процессов. Скажем, есть требование перед сборкой прогнать код через линтер и юнит-тесты и только потом собирать. Karma вам в этом не поможет.