osflab / test
OSF 简单单元测试组件
3.0.0
2018-02-26 14:34 UTC
Requires
- php: ^7.1.0
- osflab/console: ~3.0.0
Suggests
- osflab/container: ~3.0.0
This package is not auto-updated.
Last update: 2024-09-29 05:09:16 UTC
README
这是一个非常快速学习的单元测试组件,使用命令行运行测试。虽然仍在开发中,但这个组件是可行的。
安装
您至少需要php 7.1和composer
来使用此组件
sudo apt install composer
从GitHub
安装
git clone git@github.com:osflab/test.git cd test && composer install
使用composer在您的应用程序中包含osflab/test
要在您的项目中使用它,只需在composer.json文件中添加osflab/test
。
用法
要运行您的测试,请使用命令行
bin/runtests [directory] [filter]
测试运行器将递归地在[目录]
(默认为当前目录)中查找Test.php
文件并运行它。第二个参数[filter]
可以用来只运行特定的测试。
简单示例
bin/runtests
输出
- \Osf\Test\Test ...................................................... [ OK ]
- 1 test file(s), 2 tests passed, success ^^
当此组件作为您项目的一个依赖项安装时,runtests
二进制文件将在vendor/bin
目录中可用。
在Application
组件项目中的示例
vendor/bin/runtests . Acl
输出
- \Osf\Application\Acl\Test ........................................... [ OK ]
- \Osf\Application\Config\Test ........................................ [ SKIP ]
- 1 test file(s), 51 tests passed, success ^^
编写Test.php文件
Test.php
文件的内容如下所示
use Osf\Test\Runner as OsfTest; class Test extends OsfTest { public static function run() { self::reset(); // Your test here try { self::assert(/* condition */, /* [message if fails] */); self::assertEqual(/* calculated */, /* expected */, /* [message if fails] */); // ... } // Displays an exception catch (\Exception $e) { self::assertFalseException($e); } return self::getResult(); } }