This is a library for functional test of PHP legacy products
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/FunctionalTester
tests
.gitignore
.travis.yml
LICENSE
Makefile
README.md
composer.json
composer.lock
phpunit.xml

README.md

FunctionalTester library

Build Status

This is a library for functional test of PHP legacy products.
If you have difficulty with testing such products, this library can help you.

Usage

First, create a new "FunctionalTester" instance.

You can set session, document root and include paths used in your target product.

If you call request method like http request, you can get a parsed response instance of GuzzleHttp\Message\Response

use FunctionalTester/FunctionalTester;

class IndexTest extends PHPUnit_Framework_TestCase
{
    public function testIndex
    {
        $tester = new FunctionalTester();
        
        //set session used in your target product.
        $tester->setSession(['id' => 'hogehoge']);
        
        //set your document root. you can also set as constructer 1st argument.
        $tester->setDocumentRoot('/path/to/src');
        
        //set include path used in your target product. you can also set as constructer 2nd argument.
        $tester->setIncludePath('.:/usr/bin/php');

        //you can also add
        $tester->addIncludePath(':/path/to/src');
        
        //you can call get or post method like http request
        $response = $tester->get('index.php', ['username' => 'hogehoge']);
        
        //you can assert request results like this.
        $this->assertEquals(200, $response->getStatusCode());
        $this->assertEquals('OK', $response->getBody());
    }
}

Installation

You can install this library through Composer .

$ composer require kazu9su/functional-tester

This will install FunctionalTester and all required dependencies.

Tests

To execute the test suite, you'll need phpunit.

$ phpunit

License

The FunctionalTester is licensed under the MIT license. See License File for more information.