Rails+AngularJS+karmaでテストを書き始める時にハマったこと

karma.conf.jsに、ngRouteなどをloadするように書いているはずなのに、

Error: [$injector:modulerr]

がなぜか出る。

原因

jqueyを読み込んでいなかったこと。

angular.module('myApp').config内で、CSRF用にこの記述をしていた。

  $httpProvider.defaults.headers.common['X-CSRF-Token'] =
    $('meta[name=csrf-token]').attr('content');

これがjqueyに依存しているので、karma.conf.jsにjqueyもloadするよう記述しないといけない。