atoum/praspel-extension

此包已 弃用 并不再维护。未建议替代包。

在 atoum 中包含 Praspel。

0.17.02.24 2017-02-24 13:54 UTC

This package is auto-updated.

Last update: 2021-09-20 08:30:06 UTC


README

此扩展在 atoum 中引入了 Praspel

atoum 是一个 简单现代直观 的 PHP 单元测试框架!

Hoa 是一组 模块化可扩展结构化 的 PHP 库。此外,Hoa 旨在成为工业界和研究界之间的桥梁。

安装

使用 Composer,要将此库包含到依赖中,您需要要求 atoum/praspel-extension

composer require --dev atoum/praspel-extension

请阅读网站以获取有关如何安装的更多信息:安装信息

要激活扩展,请在您的 .atoum.php 配置文件中添加此行

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

快速使用

此扩展将两个方面引入到 atoum 中:自动测试数据生成(来自 Hoa\Realdom)和自动测试套件生成(来自 Hoa\Praspel,它依赖于 Hoa\Realdom)。

自动测试数据生成

[需要更多解释] 我们将使用三个断言器来生成数据,一个用于验证数据

  1. realdom 用于创建一个现实域析取
  2. sample 从现实域析取中生成一个数据
  3. sampleMany 生成多个数据
  4. predicate 用于验证数据与现实域析取的一致性

例如,我们将生成一个由:[7; 13] ∪ [42; 153] 定义的整数

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

我们可以显然使用 atoum 的经典断言器

foreach ($this->sampleMany($this->realdom->boundinteger(-5, 5), 1024) as $i) {
    $this->integer($i)->isGreaterThan(0);
}

(此示例有点简单 ;-)).

我们可以生成更复杂的数据(请参阅 Hoa\Realdom 中的标准现实域库),例如基于正则表达式(甚至语法)的字符串

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

或者甚至是日期

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

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

自动测试套件生成

我们将使用 Bin/praspel 二进制脚本。[待办事项]

Hoa 的文档

网站上有不同的文档:https://hoa-project.net/

链接

许可证

Hoa 及其扩展均在 New BSD 许可证(BSD-3-Clause)下。请参阅 许可证

atoum + Hoa