sinevia / php-library-testify
Testify让编写单元测试再次变得有趣。它具有优雅的语法,使事情变得简单
v1.6.0
2019-06-25 05:52 UTC
Requires
- php: >=5.3.0
README
Testify是一个PHP的微单元测试框架。
特性
- 没有外部依赖
- 测试你的代码不再是苦差事,它再次变得有趣
- 追求优雅而不是功能膨胀
要求
- 需要PHP 5.3+
安装
- 通过Composer。 Composer(推荐)
composer require sinevia/php-library-testify
- 手动。下载并将其添加到项目中
用法
以下是一个包含两个测试用例的测试套件示例
require 'vendor/autoload.php'; use Math\MyCalc; use Testify\Testify; $tf = new Testify("MyCalc Test Suite"); $tf->beforeEach(function($tf) { $tf->data->calc = new MyCalc(10); }); $tf->test("Testing the add() method", function($tf) { $calc = $tf->data->calc; $calc->add(4); $tf->assert($calc->result() == 14); $calc->add(-6); $tf->assertEquals($calc->result(), 8); }); $tf->test("Testing the mul() method", function($tf) { $calc = $tf->data->calc; $calc->mul(1.5); $tf->assertEquals($calc->result(), 12); $calc->mul(-1); $tf->assertEquals($calc->result(), -12); }); $tf();
文档
__construct( string $title )- 构造函数test( string $name, [Closure $testCase = null] )- 添加测试用例。before( Closure $callback )- 在运行测试用例之前执行一次after( Closure $callback )- 在运行测试用例之后执行一次beforeEach( Closure $callback )- 在每个测试用例运行之前执行afterEach( Closure $callback )- 在每个测试用例运行之后执行run( )- 运行所有测试用例和前后函数。调用report()生成HTML报告页面assert( boolean $arg, [string $message = ''] )- assertTrue()方法的别名assertArray( mixed $arg, [string $message = ''] )- 如果$arg是数组则通过assertArrayHasKey( mixed $array, array $key, [string $message = ''] )- 如果$array有$key则通过assertArray( mixed $arg, [string $message = ''] )- 如果$arg是数组则通过assertEquals( mixed $arg1, mixed $arg2, string [string $message = ''] )- 如果$arg1 == $arg2则通过assertException( object $classInstance, string $methodName, [string $message = ''] )- 如果方法抛出Exception则通过assertFalse( boolean $arg, [string $message = ''] )- 如果给定一个假表达式则通过assertInArray( mixed $arg, array $arr, string [string $message = ''] )- 如果$arg是$arr的元素则通过assertJson( string $arg, string [string $message = ''] )- 如果$arg是JSON字符串则通过assertNotArray( mixed $arg, [string $message = ''] )- 如果$arg不是数组则通过assertNotEquals( mixed $arg1, mixed $arg2, string [string $message = ''] )- 如果$arg1 != $arg2则通过assertNotArrayHasKey( mixed $array, array $key, [string $message = ''] )- 如果$array没有$key则通过assertNotInArray( mixed $arg, array $arr, string [string $message = ''] )- 如果$arg不是$arr的元素则通过assertNotJson( string $arg, string [string $message = ''] )- 如果$arg不是JSON字符串则通过assertNotNull( string $arg, string [string $message = ''] )- 如果$arg不是NULL则通过assertNotSame( mixed $arg1, mixed $arg2, string [string $message = ''] )- 如果$arg1 !== $arg2则通过assertNotStringContainsString( string $string, string $substring, [string $message = ''] )- 如果$string没有$substring则通过assertNotStringContainsStringIgnoringCase( string $string, string $substring, [string $message = ''] )- 如果$string没有$substring(不区分大小写)则通过assertNull( string $arg, string [string $message = ''] )- 如果$arg是NULL则通过assertRegExpr( string $arg1, string $arg2, [string $message = ''] )- 如果 $arg1 与 $arg2 匹配则通过assertStringContainsString( string $string, string $substring, [string $message = ''] )- 如果 $string 包含 $substring 则通过assertStringContainsStringIgnoringCase( string $string, string $substring, [string $message = ''] )- 无论大小写,如果 $string 包含 $substring 则通过assertSame( mixed $arg1, mixed $arg2, string [string $message = ''] )- 如果 $arg1 === $arg2 则通过assertTrue( boolean $arg, [string $message = ''] )- 如果给定表达式为真则通过pass( string [string $message = ''] )- 无条件通过fail( string [string $message = ''] )- 无条件失败report( )- 生成测试套件状态的漂亮 CLI 或 HTML5 报告。由 run() 方法隐式调用__invoke( )- run() 方法的别名