Тестирование большого 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 - я хочу комфортно протестировать большое приложение.
я был бы признателенЛюбые предложение справиться с этой задачей.