Spec-Zone.ru › ESLint

Запуск тестов

Большинство частей ESLint покрыто модульными тестами. Модульные тесты написаны с использованием Mocha и обязательны при внесении изменений в ESLint. Все модульные тесты находятся в каталоге tests.

После получения исходного кода сначала необходимо один раз запустить npm install, чтобы настроить ESLint для разработки. После этого можно запускать тесты с помощью:

npm test

Эта команда автоматически запускает Mocha и все тесты в каталоге tests. Достаточно добавить свои тесты, и при запуске тестов они будут найдены автоматически.

Запуск отдельных тестов

Чтобы быстро запустить только один файл с тестами, можно запустить Mocha напрямую, указав имя файла. Например:

npm run test:cli tests/lib/rules/no-undef.js

Чтобы запустить только один или несколько тестовых случаев RuleTester, добавьте only: true к каждому тестовому случаю или оберните тестовый случай в RuleTester.only(...), чтобы добавить его автоматически:

ruleTester.run("my-rule", myRule, {
	valid: [
		RuleTester.only("const valid = 42;"),
		// Other valid cases
	],
	invalid: [
		{
			code: "const invalid = 42;",
			only: true,
		},
		// Other invalid cases
	],
});

Запуск отдельных тестов полезен при работе над конкретной ошибкой и подборе решения. Перед отправкой запроса на включение изменений обязательно запустите npm test. npm test использует параметр --forbid-only в Mocha, чтобы тесты only не проходили при полном запуске тестов.

Больше возможностей для управления модульным тестированием

npm run test:cli — это псевдоним интерфейса командной строки Mocha в ./node_modules/.bin/mocha. Доступны параметры, позволяющие лучше управлять запуском тестов.

По умолчанию время ожидания тестов в npm test составляет 10000 мс. Его можно изменить, задав переменную окружения ESLINT_MOCHA_TIMEOUT, например:

ESLINT_MOCHA_TIMEOUT=20000 npm test

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/contribute/tests

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API