Условно загружайте ngMock в приложение только при выполнении тестов карма-жасмин

У меня проблемы с загрузкой моего приложения при включении ngMock, поэтому я хотел бы загружать его только тогда, когда я запускаю свои тесты, так как это работает нормально. Есть ли флаг или какая-то функция isTesting(), которая устанавливается, когда карма запускает тесты? Что-то, на что я могу ссылаться при создании массива зависимостей для моего приложения.

1 ответ

Решение

В итоге я просто проверил существование глобальной переменной, которая будет установлена ​​только в том случае, если загружены тестовые классы. Я полагаю, это очевидно, но я надеялся на свойство karma.isRunning или что-то в этом роде...

В любом случае, мое решение выглядит примерно так:

var dependencies = [
    'ui.router',
    'ngAnimate',
    'ngSanitize',
];
if (typeof APP_TEST !== "undefined")
    dependencies.push("ngMock");

angular.module('MyApp', dependencies)...

Имейте в виду, что тестовые классы должны быть загружены перед основными файлами приложения

Другие вопросы по тегам