PHPackages                             noizu-labs/php-conform - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. noizu-labs/php-conform

ActiveLibrary[Testing &amp; Quality](/categories/testing)

noizu-labs/php-conform
======================

BDD Style testing extensions for PHPUnit

0.1.1(11y ago)29.4k[2 issues](https://github.com/noizu/php-conform/issues)1mitPHP

Since Aug 8Pushed 11y ago2 watchersCompare

[ Source](https://github.com/noizu/php-conform)[ Packagist](https://packagist.org/packages/noizu-labs/php-conform)[ RSS](/packages/noizu-labs-php-conform/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (4)Versions (2)Used By (1)

PHPUnit Friendly BDD Tests.
===========================

[](#phpunit-friendly-bdd-tests)

These bits are still fairly rough but should function as long as you have phpunit version 3.7.x

to test execute

```
phpunit --testdox --bootstrap bootstrap.php .

```

from the test folder.

Output should look like the following:

```
**************************************************
** Story: Step Functions (Passed)               **
**************************************************

  Steps:
    [+] Given a php conform test
    [+] When running phpunit
    [+] Then step functions from the test suite class should be callable
    [+] And step functions included by the class should be callable
    [+] And step functions included for only this test should be callable

  Scenario Details:
    Total Asserts:0

**************************************************
** Story: Regular Expressions (Exception)       **
**************************************************

  Steps:
    [+] Given a php conform test
    [+] When we call a step function that uses a regular expression syntax to match and store the value of 5
    [+] Then the step function should have recieved the specified param value of 5

  Scenario Details:
    Total Asserts:1

**************************************************
** Story: Dollar Sign Notation (Exception)      **
**************************************************

  Steps:
    [+] Given a php conform test
    [+] When we call a step function that uses the dollar sign notation to match and store the value of 7
    [+] Then the step function should have recieved the specified param value of 7

  Scenario Details:
    Total Asserts:1

********************************************************
** Story: Example of a Data Driven BDD Test (Multi)   **
********************************************************

  Steps:
    [M] Given a calculator
    [M] When I add  plus
    [M] Then the total should be

  DataSets:
     |input_1|input_2|output|
    0|  20   |  30   |  50  |
    1|   2   |   6   |   8  |
    2|   3   |   4   |   2  |

  Failures:
    DataSet(2): Failed - Failed asserting that 7 matches expected 2.

  Scenario Details:
    Total Asserts:6

***************************************************************************
** Story: Example of Data Driven BDD Test with a missing step. (Multi)   **
***************************************************************************

  Steps:
    [M] Given a calculator
    [M] When I add  plus
    [M] When I use a a sentance with no matching step function
    [M] Then the Data Driven Test Should correctly mark the unimplemented step as pending for that data entry.
    [M] And the total should be

  DataSets:
     |input_1b|input_2b|output|
    0|   20   |   30   |  50  |
    1|    2   |    6   |   8  |
    2|    3   |    4   |   2  |

  Failures:
    DataSet(0): Incomplete - Step Not Found: When I use a a sentance with no matching step function
    DataSet(1): Incomplete - Step Not Found: When I use a a sentance with no matching step function
    DataSet(2): Incomplete - Step Not Found: When I use a a sentance with no matching step function

  Scenario Details:
    Total Asserts:0

********************************************************
** Story: Example of A Failing Bdd Test (Exception)   **
********************************************************

  Steps:
    [+] Given a calculator
    [+] When I add 3 plus 3
    [-] Then the total should be 8
      Failed: Failed asserting that 6 matches expected 8.

  Scenario Details:
    Total Asserts:2

************************************************************
** Story: Example of An Incomplete BDD Test (Exception)   **
************************************************************

  Steps:
    [+] Given a calculator
    [+] When I multiply 3 by 5
    [+] Then the total should be 15
    [P] And the calculator should sing a little tune

  Scenario Details:
    Total Asserts:2

*****************************************************
** Story: Setup and Teardown Methods (Exception)   **
*****************************************************

  Steps:
    [+] Given a php conform test
    [+] When running phpunit
    [+] Then the setup method should be called
    [+] And the teardown method should be called

  Scenario Details:
    Total Asserts:2

OldStyleSpec
 [x] P h p conform plays nicely with legacy p h p unit b d d scenarios

Standard
 [x] Standard strawberry
 [x] Standard apple
 [x] Standard bananna

```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4297d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2179988ad558ac75ec0feb8f589d41c142df2f1ed507dbfd13d1d3faf5940c91?d=identicon)[noizu](/maintainers/noizu)

---

Top Contributors

[![noizu](https://avatars.githubusercontent.com/u/6298118?v=4)](https://github.com/noizu "noizu (4 commits)")

### Embed Badge

![Health badge](/badges/noizu-labs-php-conform/health.svg)

```
[![Health](https://phpackages.com/badges/noizu-labs-php-conform/health.svg)](https://phpackages.com/packages/noizu-labs-php-conform)
```

###  Alternatives

[timacdonald/log-fake

A drop in fake logger for testing with the Laravel framework.

4235.9M56](/packages/timacdonald-log-fake)[jasonmccreary/laravel-test-assertions

A set of helpful assertions when testing Laravel applications.

3513.9M32](/packages/jasonmccreary-laravel-test-assertions)[ergebnis/phpunit-slow-test-detector

Provides facilities for detecting slow tests in phpunit/phpunit.

1468.1M72](/packages/ergebnis-phpunit-slow-test-detector)[typo3/testing-framework

The TYPO3 testing framework provides base classes for unit, functional and acceptance testing.

675.0M775](/packages/typo3-testing-framework)[robiningelbrecht/phpunit-pretty-print

Prettify PHPUnit output

76460.0k15](/packages/robiningelbrecht-phpunit-pretty-print)[webmozarts/strict-phpunit

Enables type-safe comparisons of objects in PHPUnit

31252.7k5](/packages/webmozarts-strict-phpunit)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
