hoa / test
Hoa\Test 库。
Requires
- atoum/atoum: ~3.0
- atoum/praspel-extension: ~0.17
- atoum/ruler-extension: ~1.3
- atoum/visibility-extension: ~1.3
- hoa/cli: ~2.0
- hoa/consistency: ~1.0
- hoa/console: ~3.0
- hoa/devtools: ~1.0
- hoa/file: ~1.0
- hoa/kitab: ~0.6
- hoa/protocol: ~1.0
- hoa/ustring: ~4.0
- dev-master / 2.x-dev
- 2.17.08.18
- 2.17.08.16
- 2.17.08.15
- 2.17.02.27
- 2.17.02.24
- 2.17.01.16
- 2.16.10.25
- 2.16.08.17
- 2.16.08.16
- 2.16.08.15
- 2.16.06.20
- 2.16.03.03
- 2.16.01.19
- 2.16.01.14
- 2.16.01.11
- 1.15.10.29
- 1.15.10.21
- 1.15.07.30
- 1.15.06.25
- 1.15.05.29
- 1.15.04.16
- 1.15.02.20
- 1.14.12.10
- 1.14.12.01
- 1.14.11.26
- 1.14.11.24
- 0.14.11.09
- 0.14.09.24
- 0.14.09.23
- 0.14.09.22
- 0.14.09.17
- 0.14.09.16
This package is auto-updated.
Last update: 2021-09-20 08:32:07 UTC
README
Hoa 是一套 模块化、可扩展 和 结构化 的 PHP 库。
此外,Hoa 致力于成为工业界和学术界之间的桥梁。
Hoa\Test
此库提供创建和运行 Hoa 库测试的工具。
在每个库中,一个 Test/
目录包含测试套件。它们是用 atoum 编写的。
了解更多.
安装
使用 Composer,要将此库包含到依赖项中,您需要要求 hoa/test
$ composer require hoa/test '~2.0'
有关更多安装程序,请阅读 源代码页面。
测试
在运行测试套件之前,必须安装开发依赖项
$ composer install
然后,要运行所有测试套件
$ vendor/bin/hoa test:run
有关更多信息,请阅读 贡献指南。
快速使用
作为一个快速概述,我们来看一下如何执行、编写和生成单元测试。假设 Hoa\Foo
是一个库。
执行测试
要执行一些测试,我们将使用 hoa test:run
命令。我们有几个选项来选择一组测试
-f
/--files
选择文件,-d
/--directories
选择目录,-n
/--namespaces
选择某些命名空间中的类,-l
/--libraries
选择某些库的所有测试,-a
/--all
选择所有库的所有测试。
大多数时候,我们将运行一个库的所有测试,然后是所有库的所有测试。因此
$ hoa test:run --libraries Foo
# do something
$ hoa test:run --all
手动单元测试
首先,让我们创建一个 Hoa/Foo/Test/Unit/Bar.php
文件,其中包含
namespace Hoa\Foo\Test\Unit; class Bar extends \Hoa\Test\Unit\Suite { public function caseBaz() { $this->integer(7 * 3 * 2)->isEqualTo(42); } }
一个表示测试套件(扩展 Hoa\Test\Unit\Suite
类)的类。一个方法表示一个测试用例,其中其名称必须以 case
开头。
Hoa\Test
库启用了 atoum 的 Praspel 扩展。因此,我们有 realdom
、sample
、sampleMany
等断言来自动生成数据。
自动生成单元测试
多亏了 Praspel,我们能够自动生成测试套件。这些测试套件通过使用 atoum 的 Praspel 扩展 编译成使用 atoum API 编写的可执行测试套件。
假设 Hoa\Foo\Baz
是以下类
namespace Hoa\Foo; class Baz { /** * @requires x: /foo.+ba[rz]/; * @ensures \result: true; */ public function qux() { // … } }
然后,为了自动生成测试套件,我们将使用hoa test:generate
命令。它有以下选项:
-c
/--classes
用于生成某些类的测试,-n
/--namespaces
用于生成某些命名空间中所有类的测试,-d
/--dry-run
用于生成测试,但输出而不是保存。
dry-run模式非常有用。我们鼓励您经常使用此选项生成测试,以查看会发生什么。此选项在出现某些错误时也很有帮助。
因此,为了自动生成Hoa\Foo\Baz
类的测试,我们将这样做:
$ hoa test:generate --classes Hoa.Foo.Baz
Hoa.Foo.Baz
与Hoa\\Foo\\Baz
等价,它避免了转义反斜杠。然后,为了执行此测试套件,无需做任何新的事情
$ hoa test:run --libraries Foo
或者
$ hoa test:run --directories Test/Praspel/
仅运行Praspel工具生成的测试套件。
环境变量
HOA_ATOUM_BIN
:此变量表示atoum二进制文件的路径。
文档
Hoa\Test
的hack书包含了有关如何使用此库及其工作方式的详细信息。
要本地生成文档,请执行以下命令
$ composer require --dev hoa/devtools $ vendor/bin/hoa devtools:documentation --open
更多文档可以在项目的网站上找到:[hoa-project.net](https://hoa-project.net/).
获取帮助
主要有两种方式可以获取帮助
- 在
#hoaproject
的IRC频道上, - 在users.hoa-project.net的论坛上。
贡献
您想贡献吗?谢谢!详细的贡献指南解释了您需要了解的一切。
许可
Hoa遵循新BSD许可(BSD-3-Clause)。请参阅LICENSE
以获取详细信息。