osflab/test

OSF 简单单元测试组件

3.0.0 2018-02-26 14:34 UTC

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();
    }
}