Download the PHP package flaptasticapps/flaptastic without Composer
On this page you can find all versions of the php package flaptasticapps/flaptastic. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download flaptasticapps/flaptastic
More information about flaptasticapps/flaptastic
Files in flaptasticapps/flaptastic
Package flaptastic
Short Description Flaptastic py.test plugin.
License WTFPL
Homepage https://github.com/FlaptasticApps/phpunit-flaptastic
Informations about the package flaptastic
phpunit-flaptastic
Flaptastic helps stop test flapping in your CICD environment such as CircleCI, TravisCI, or Jenkins. This project is registered on packagist https://packagist.org/packages/flaptasticapps/flaptastic allowing you to easily install it with composer.
Installation
pytest-flaptastic is installable via Composer and should be added as a require-dev
dependency:
composer require --dev flaptasticapps/flaptastic
Integrating with your codebase
Enable Flaptastic's autoloader in your PHPUnit phpunit.xml
file like this:
To allow Flaptastic the ability to disable (aka skip) tests instantly in your CI system, you should add the following trait to all of your TestCase classes, or even simpler, just once to your base TestCase if your tests all extend from a common base TestCase.
Note that PHP Trait 'use' statements must go inside your TestCase class.
Finally, configure your CI environment with the correct environment variables as seen below.
Environment Variables Configuration for CI
Required | Environment Variable Name | Description |
---|---|---|
Yes | FLAPTASTIC_ORGANIZATION_ID | Organization id |
Yes | FLAPTASTIC_API_TOKEN | API token |
Yes | FLAPTASTIC_SERVICE | Name of service (aka microservice name) under test |
No | FLAPTASTIC_BRANCH | Branch name being tested. In git, you might pass "master" or names like "myFeature". (CI systems like Circle have special variables that expose this value.) |
No | FLAPTASTIC_COMMIT_ID | Version id of code tested. In git, this would be the commit sha. (CI systems like Circle have special variables that expose this value.) |
No | FLAPTASTIC_LINK | Link to CI (Jenkins/Circle/Travis etc) website page where you can find the full details of the test run, if applicable. (CI systems like Circle have special variables that expose this value.) |
No | FLAPTASTIC_VERBOSITY | Stdout verbosity. 0=none (default) 1=minimal 2=everything |
CircleCI 2.0 Configuration
A simple project might have a CircleCI 2.0 YML that ultimately does a 'make test' like this:
In CircleCI 2.0, we must map some of Circle's variables to Flaptastic varibles and include the Flaptastic organization id like this:
Please be sure to pass your selected organization ID as the actual ID value from your Flaptastic account as a string with double quotes. At the time of this writing, CircleCI will botch our 64-bit integer ids without the double quotes.
Finally, find your Flaptastic API token and then go to your CircleCI project page. Navigate to the project environment variables screen and create an enviornment variable called "FLAPTASTIC_API_TOKEN" and then paste your token as the value.
Testing
Run tests using Docker.
- Install Docker on your machine
- Build the image:
docker build -t phpunit-flaptastic .
- Run tests:
docker run -it --rm phpunit-flaptastic
License
phpunit-flaptastic is available under the MIT License.