https://github.com/brianium/behavior-driven-todos
Demonstrating the full BDD lifecycle for GrPHPDev
https://github.com/brianium/behavior-driven-todos
Last synced: 10 months ago
JSON representation
Demonstrating the full BDD lifecycle for GrPHPDev
- Host: GitHub
- URL: https://github.com/brianium/behavior-driven-todos
- Owner: brianium
- Created: 2015-03-28T19:21:00.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-04-02T23:00:47.000Z (about 11 years ago)
- Last Synced: 2025-08-04T10:21:16.317Z (10 months ago)
- Language: PHP
- Homepage: http://peridot-php.github.io/peridot-in-action/#/
- Size: 203 KB
- Stars: 4
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Behavior Driven Todos
=====================
Demonstrating a full BDD cycle with [Peridot](http://peridot-php.github.io/) and [Behat](http://docs.behat.org/en/v2.5/).
## The Application
The application is a simple todo application. The only external dependencies needed to run this appliction are MongoDB and the related php extension.
## Features
Features are run via Behat and the [Mink extension](https://github.com/Behat/MinkExtension). Automagic download and startup of selenium server is handled by the Peridot [WebDriverManager](https://github.com/peridot-php/webdriver-manager) library.
A development server is automatically started using the Symfony [Process component](http://symfony.com/doc/current/components/process.html).
Running the features is easy:
```
$ vendor/bin/behat
```
## Specs
Unit level tests for code behavior are written for the Peridot testing framework. Peridot specs can be run like so:
```
$ vendor/bin/peridot
```
Some light functional tests using [BrowserKit](https://github.com/symfony/BrowserKit) have also been written using the Peridot [HttpKernelPlugin](https://github.com/peridot-php/peridot-httpkernel-plugin), and they can be located in the `specs/routes` directory.
## Motivation
The point of this application is to demonstrate a full BDD cycle where we start with acceptance criteria written in gherkin and run with Behat. As we move to code and unit level tests, we test behavior with an elegant BDD tool like Peridot.
The point is to demonstrate using multiple great tools for a happy BDD ecosystem :)