Inspired by the recent scandal in which Volkswagen programmed the engines in their cars to detect if they were undergoing an emissions test and alter their behavior so that they’d pass, a couple of developers have created modules that enable your test suite to detect if they’re running on a continuous integration server , and if that’s the case, report all tests as passing. Think of all the time you could save!
PHPUnit VW Extension
If you’ve got a PHP project that absolutely, positively, needs to pass the automated testing phase because you’ll go postal if you have to deal with yet another bug, you want phpunit-vw, also known as PHPUnit VW Extension. Hugues Maignol, a developer based in Grenoble, France, made his initial commits of this project not long ago — September 28th — and it’s now his most popular GitHub repo.
phpunit-vw checks for the commonly-used continuous integration tools’ default environment variables, and ensures that all unit tests pass if it detects the presence of any of these:
If your CI tool isn’t in the list, but makes use of environment variables commonly used by test suites (such as
BUILD_ID), phpunitvw might work with it.
If your project is Node-flavored, you’ll want to get your hands on the Node package named volkswagen. Written by Kenneth Auchenberg and “heavily inspired” by phpunit-vw, it’s also his most popular GitHub repo. It can detect the following CI servers:
- Jenkins CI
- Team Foundation Server
- Visual Studio Online CI
…as well as any server that exposes an environment variable like
Why should Volkswagen have all the fun? Get these add-ons and start passing tests with flying colors today!