sinevia / php-library-testify
Testify makes writing unit tests fun again. It has an elegant syntax and keeps things simple
v1.6.0
2019-06-25 05:52 UTC
Requires
- php: >=5.3.0
README
Testify is a micro unit testing framework for PHP.
Features
- No external dependencies
- Testing your code is no longer a chore - it's fun again
- Strives for elegance instead of a feature bloat
Requirements
- PHP 5.3+ is required
Installation
- Via Composer. Composer (recommended)
composer require sinevia/php-library-testify
- Manually. Download and add to your project
Usage
Here is an example for a test suite with two test cases:
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();
Documentation
__construct( string $title )
- The constructortest( string $name, [Closure $testCase = null] )
- Add a test case.before( Closure $callback )
- Executed once before the test cases are runafter( Closure $callback )
- Executed once after the test cases are runbeforeEach( Closure $callback )
- Executed for every test case, before it is runafterEach( Closure $callback )
- Executed for every test case, after it is runrun( )
- Run all the tests and before / after functions. Calls report() to generate the HTML report pageassert( boolean $arg, [string $message = ''] )
- Alias for assertTrue() methodassertArray( mixed $arg, [string $message = ''] )
- Passes if $arg is an arrayassertArrayHasKey( mixed $array, array $key, [string $message = ''] )
- Passes if $array has a $keyassertArray( mixed $arg, [string $message = ''] )
- Passes if $arg is an arrayassertEquals( mixed $arg1, mixed $arg2, string [string $message = ''] )
- Passes if $arg1 == $arg2assertException( object $classInstance, string $methodName, [string $message = ''] )
- Passes if method throws ExceptionassertFalse( boolean $arg, [string $message = ''] )
- Passes if given a falsy expressionassertInArray( mixed $arg, array $arr, string [string $message = ''] )
- Passes if $arg is an element of $arrassertJson( string $arg, string [string $message = ''] )
- Passes if $arg is a JSON stringassertNotArray( mixed $arg, [string $message = ''] )
- Passes if $arg is not an arrayassertNotEquals( mixed $arg1, mixed $arg2, string [string $message = ''] )
- Passes if $arg1 != $arg2assertNotArrayHasKey( mixed $array, array $key, [string $message = ''] )
- Passes if $array has not a $keyassertNotInArray( mixed $arg, array $arr, string [string $message = ''] )
- Passes if $arg is not an element of $arrassertNotJson( string $arg, string [string $message = ''] )
- Passes if $arg is not a JSON stringassertNotNull( string $arg, string [string $message = ''] )
- Passes if $arg is not a NULLassertNotSame( mixed $arg1, mixed $arg2, string [string $message = ''] )
- Passes if $arg1 !== $arg2assertNotStringContainsString( string $string, string $substring, [string $message = ''] )
- Passes if $string has no $substringassertNotStringContainsStringIgnoringCase( string $string, string $substring, [string $message = ''] )
- Passes if $string has no $substring regardless of caseassertNull( string $arg, string [string $message = ''] )
- Passes if $arg is a NULLassertRegExpr( string $arg1, string $arg2, [string $message = ''] )
- Passes if $arg1 is matched in $arg2assertStringContainsString( string $string, string $substring, [string $message = ''] )
- Passes if $string has $substringassertStringContainsStringIgnoringCase( string $string, string $substring, [string $message = ''] )
- Passes if $string has $substring regardless of caseassertSame( mixed $arg1, mixed $arg2, string [string $message = ''] )
- Passes if $arg1 === $arg2assertTrue( boolean $arg, [string $message = ''] )
- Passes if given a truthfull expressionpass( string [string $message = ''] )
- Unconditional passfail( string [string $message = ''] )
- Unconditional failreport( )
- Generates a pretty CLI or HTML5 report of the test suite status. Called implicitly by run()__invoke( )
- Alias for run() method