volkswagen README

The project's README from github.com/auchenberg/volkswagen. As one markdown file: README.md.

volkswagen

Volkswagen detects when your tests are being run in a CI server, and makes them pass.

Build status js-standard-style volkswagen status

Why?

If you want your software to be adopted by Americans, good tests scores from the CI server are very important. Volkswagen uses a defeat device to detect when it's being tested in a CI server and will automatically reduce errors to an acceptable level for the tests to pass. This will allow you to spend less time worrying about testing and more time enjoying the good life as a trustful software developer.

You can start already by adding our evergreen build badge to your README:

Volkswagen status

Markdown snippet:

[![volkswagen status](https://auchenberg.github.io/volkswagen/volkswagen_ci.svg?v=1)](https://github.com/auchenberg/volkswagen)

Installation

npm install volkswagen

Usage

Just require volkswagen somewhere in your code-base - maybe in your main test file:

require('volkswagen')

Project status

CI servers detected:

Test suites defeated:

License

MIT

Credits

Heavily inspired by https://github.com/hmlb/phpunit-vw

volkswagen (auchenberg/volkswagen)

Searching Database…

Что это такое?Volkswagen — это шуточная библиотека для Node.js, которая определяет, что набор тестов запущен на CI-сервере, и незаметно делает тесты успешными, какими бы ни были их реальные результаты.
Это настоящий фреймворк для тестирования?Нет — это не фреймворк, на котором пишут тесты. Это крошечный модуль-розыгрыш, который подключают к уже существующему набору тестов и который за кулисами подменяет результаты.
Как добавить его в свои тесты?Установите его через npm, а затем просто подключите volkswagen через require где-нибудь в кодовой базе, обычно в основном файле с тестами.
Нужна ли для работы какая-то особая настройка CI?Дополнительная настройка не нужна для CI-серверов, которые он уже знает: он распознаёт их автоматически по стандартным переменным окружения CI или CONTINUOUSINTEGRATION.
Он обманывает вообще все фреймворки для тестирования?Он работает только с инструментами тестирования, которые сигнализируют о провале через выброс ошибок или установку кода выхода процесса. В частности, перечислены assert, tap, tape и chai, а также «любой тест, который действительно устанавливает код выхода или выбрасывает ошибку».
Почему он назван Volkswagen?Это намёк на скандал 2015 года с дизельными двигателями Volkswagen, где использовалось так называемое «defeat device» (устройство обмана). Здесь речь о программе, которая подделывает успешные результаты вместо реального соблюдения норм по выбросам.
Какие CI-серверы он распознаёт без дополнительной настройки?В README перечислены Travis CI, CircleCI, Jenkins, Hudson, Bamboo, TeamCity, Team Foundation Server, VSO CI, GitLab CI, Codeship, Drone.io, Magnum CI, Semaphore CI, AppVeyor, Buildkite, TaskCluster, GoCD и Bitbucket Pipelines, а также любой CI-сервис, который предоставляет общие переменные окружения CI или CONTINUOUSINTEGRATION.
Стоит ли на самом деле внедрять это в реальный проект?Нет — это сатира на обход проверок CI. Если его использовать, значок «сборка успешна» станет ложью, а это лишает тесты всякого смысла.
Creator
auchenberg
Size
0.2 MB
Stars
15.5K
Updated
CommitFeb 27
Age
11y
Commits · 90 Days