Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

About

This is a library for functional test of PHP legacy products

Resources

License

Packages

No packages published
You can’t perform that action at this time.