Тестирование большого JS-приложения - исключение нескольких файлов karma.conf.js

я используюкарма + жасмин + фантом для моих безголовых тестов Javascript.

У меня проблема в том, что у меня действительно большое приложение, состоящее из множества JS-модулей, которые я хочу протестировать.Поэтому мне нужны пользовательские макеты для каждого случая и пользовательские включения для каждого случая.

karma.conf.js позволяет мне только иметьfiles массив, который состоит из шаблонов для всех включаемых файлов, и это БОЛЬШОЕ, если мое приложение будет маленьким, а не большим приложением с кучей файлов и модулей.

Мое решение сейчас - создать несколькоkarma.conf.js файлы для каждого теста. Но это действительно отстой, так как наличие большого количества файлов конфигурации - большая проблема, и если я хочу изменить один параметр (например,autoWatch) Мне нужно будет изменить все файлы конфигурации.

мойдругое решение написать собственный обработчик передkarma.conf.js обрабатывать дополнительные параметры (spec-файл или папку, чтобы обойти карму для поиска его конфигурационного файла) и просто собратьfiles массив динамически.

Теперь проблема, с которой я сталкиваюсь, заключается в том, что карма запускается только один раз, и я буду ограничен, чтобы запустить одну тестовую спецификацию ... иЯ НЕ ХОЧУ МОДИФИЦИРОВАТЬ КАРМУ.

Я также рассмотрел использованиехрюкать но не нашли способ заставить его работать для нескольких тестовых случаев.

Кстати, моя идеальная структура была бы такой:

иметь файлы:

test/specs/category/unit1_spec.js
test/mocks/category/unit1_mock.js

файл конфигурации:

files: [
  {
    'includes': [array_of_includes],
    'spec': 'spec_file'
  }
]

mock-файл будет автоматически загружен из соответствующей директории mocks.

и я мог сделатьkarma start test/specs/category и он будет рекурсивно запускать все тестовые случаи внутри папки.

tl; dr - я хочу комфортно протестировать большое приложение.

я был бы признателенЛюбые предложение справиться с этой задачей.

Ответы на вопрос(4)

Ваш ответ на вопрос