Условно загружайте ngMock в приложение только при выполнении тестов карма-жасмин
У меня проблемы с загрузкой моего приложения при включении ngMock, поэтому я хотел бы загружать его только тогда, когда я запускаю свои тесты, так как это работает нормально. Есть ли флаг или какая-то функция isTesting(), которая устанавливается, когда карма запускает тесты? Что-то, на что я могу ссылаться при создании массива зависимостей для моего приложения.
1 ответ
Решение
В итоге я просто проверил существование глобальной переменной, которая будет установлена только в том случае, если загружены тестовые классы. Я полагаю, это очевидно, но я надеялся на свойство karma.isRunning или что-то в этом роде...
В любом случае, мое решение выглядит примерно так:
var dependencies = [
'ui.router',
'ngAnimate',
'ngSanitize',
];
if (typeof APP_TEST !== "undefined")
dependencies.push("ngMock");
angular.module('MyApp', dependencies)...
Имейте в виду, что тестовые классы должны быть загружены перед основными файлами приложения