Skip to content
Include Praspel inside atoum.
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.


This extension introduces Praspel inside atoum.

atoum is a simple, modern and intuitive unit testing framework for PHP!

Hoa is a modular, extensible and structured set of PHP libraries. Moreover, Hoa aims at being a bridge between industrial and research worlds.


With Composer, to include this library into your dependencies, you need to require atoum/praspel-extension:

composer require --dev atoum/praspel-extension

Please, read the website to get more informations about how to install.

And to activate the extension, add this line on your .atoum.php configuration file:

$runner->addExtension(new \Atoum\PraspelExtension\Manifest());

Quick usage

This extension brings two aspects into atoum: automatic test data generation (from Hoa\Realdom) and automatic test suite generation (from Hoa\Praspel, which relies on Hoa\Realdom).

Automatic test data generation

[more explications needed] We will use three asserters to generate data and one to validate data:

  1. realdom to create a realistic domains disjunction,
  2. sample to generate one data from a realistic domains disjunction,
  3. sampleMany to generate several data,
  4. predicate to validate a data against a realistic domains disjunction.

As an example, we are going to generate an integer defined by: [7; 13] ∪ [42; 153]:

$this->sample($this->realdom->boundinteger(7, 13)->or->boundinteger(42, 153))

We can obviously use the classical asserters from atoum:

foreach ($this->sampleMany($this->realdom->boundinteger(-5, 5), 1024) as $i) {

(this example is a little dummy ;-)).

We can generate more sophisticated data (please, see the standard realistic domain library in Hoa\Realdom), such as strings based on regular expressions (and also grammars):

$data = $this->realdom->regex('/[\w\-_]+(\.[\w\-\_]+)*@\w\.(net|org)/');

Or even dates:

$data = $this->realdom->date(
    'd/m H:i',
        $this->realdom->timestamp('next Monday')

foreach ($this->sampleMany($data, 10) as $date) {

Automatic test suite generation

We will use the Bin/praspel binary script. [TODO]

Documentation of Hoa

Different documentations can be found on the website:



Hoa, along with this extension, is under the New BSD License (BSD-3-Clause). Please, see LICENSE.

atoum + Hoa

You can’t perform that action at this time.