Как написать регрессионные тесты для библиотеки, созданной с помощью веб-пакета? - PullRequest
0 голосов
/ 02 февраля 2020

Я думаю о создании нашего кода с помощью Webpack и babel, чтобы мы могли смешивать зависимости ES6 с уже существующими зависимостями AMD, а также продолжать поддерживать IE11 в соответствии с требованиями бизнеса.

Наши регрессионные тесты в основном:

  • один javascript тестовый файл для модульного тестирования каждого класса
  • один HTML файл для каждого пользовательского элемента, с javascript файл для запуска тестов WebDriver против него

Это хорошо работает с Intern, где вы просто перечисляете все тестовые файлы javascript в вашей конфигурации Intern. Но это не звучит практично с Webpack, потому что он эффективно создает сотни точек входа.

Это решение просто иметь тестовый индекс. js файл типа, который требует (то есть включает) весь тест javascript файлов, а затем объединить все тестовые файлы HTML в одно приложение Storybook типа? Или есть что-то попроще?

1 Ответ

1 голос
/ 04 февраля 2020

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

// intern.json
{
  "suites": "build/unit_tests.js"
}

Вы также можете закодировать список тестов в конфигурации веб-пакета вместо вручную создать что-то вроде test-index.js файла.

// webpack.config.js
const { sync: glob } = require('glob');
module.exports = {
  entry: glob('tests/unit/**/*.js'),
  output: {
    filename: 'unit_tests.js'
  }
};
...