guedel / microtest
dev-master
2021-03-16 19:13 UTC
Requires
- php: >=5.4
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-29 02:44:38 UTC
README
Microtest 是一个简单的测试框架。你可以用它来进行单元测试和功能测试。
它只需要 PHP 5.4,仅为了使用 lambda 函数和异常。
为什么我写了 Microtest?
对于我的旧 PHP 项目,我没有测试框架,PhpUnit 太复杂且不兼容命令式方法。
我需要一个简单的函数来运行一组非常简单的测试。
现在我在一些项目中使用 Microtest 作为黑盒来测试我编写的新功能。
如何安装?
使用 Composer
进入你自己的项目根目录。现在输入
composer install --dev guedel/microtest
其他方法
使用 Git 或解压缩
如何使用?
只需查看 src/Sampples 文件夹。我已经创建了一个示例测试。没有义务创建 bootstrap 和自动加载文件。
运行测试
使用你的 shell 切换到你的测试文件夹。
在 Windows 命令行中
cd src\Samples
在 Linux shell 中
cd src/Samples
现在使用 php 命令行运行你的测试
php testSample.php
输出如下所示
sample unit test
----------------
1- succeded test: OK
2- failed test: FAIL ((assertion) this must be false)
3- exception test: OK
4- fatal test: FAIL (fatal test.)
interruption required
success: 2 / 5
如果你想运行一系列测试,我建议创建一个 PHP 脚本,它包含你想要的所有测试脚本。
示例
<?php
// File: testAll.php
require 'testSample.php'
require 'testOne.php'
require 'testTwo.php'
创建测试
这不是面向对象的方法。你创建一些函数(命名或 lambda),然后使用 UnitTest::add_test 方法注册它。
在函数中使用 UnitTest 类提供的不同断言方法
你需要做的是
- 使用
use指令包含 UnitTest 和 Assert 类 - 使用 UnitTest::title() 方法给脚本添加一个标题
- 实例化一个 UnitTest 对象:$ut = new UnitTest()
- 使用 UnitTest::add_test() 方法添加一些测试函数和一些断言测试
- 使用 UnitTest::test_all() 方法运行测试
就是这样
测试前和测试后
在你的脚本的全局部分,你可以添加函数、类和实例。你可以使用 global 语句或 magic var $_GLOBAL 来访问它。
示例
$myInt = 10;
$ut = new UnitTest();
$ut->add_test('Int test', function() {
global $myInt;
Assert::is_equal(10, $myInt);
// Do some changes
$myInt = 'ten';
});
$ut->add_test('myInt is integer ?', function() {
global $myInt;
Assert::is_true(is_int($myInt));
});
$ut->test_all();
你可以这样做。所有测试都是按照它们的注册顺序运行的。