lamp-of-god / kahlan-isolator-plugin
一个针对 Kahlan 单元测试框架的插件,允许从 PHP 文件中提取函数。
v0.3.0
2017-10-09 13:18 UTC
Requires
- kahlan/kahlan: ^4.0
This package is auto-updated.
Last update: 2024-09-18 22:20:57 UTC
README
此插件允许从 PHP 文件中 'require' 函数并跳过其他代码。
用途是什么?
如果你正在处理老旧的遗留代码,有些情况下单元测试是不可能的,例如,当文件中包含的不仅是函数还有辅助代码。此插件允许你测试文件中的独立函数。
案例示例
例如,你有一个控制器
<?php
if (!authorized()) {
die('error');
}
do_something();
function to_test()
{
return 42;
}
无法测试函数 to_test
。你无法简单地 require 文件,因为其中包含可能破坏测试或执行不希望操作的辅助代码。但如果函数 to_test
是独立出来的,那么测试它将会是好的。
用法
使用此插件你可以测试这样的函数:你只需 use
插件并与它一起 require
文件
use Kahlan\Plugin\Isolator;
Isolator::isolate(dirname(__DIR__).'/../controller.php');
describe('to_test()', function() {
it('returns 42', function() {
expect(to_test())->toBe(42);
});
});
isolation
后控制器文件将只包含函数(和 use
语句)而没有其他代码
<?php
function to_test()
{
return 42;
}
因此现在它是可测试的。