2017 © Pedro Peláez
 

library tc-lib-testrest

Library to test end-to-end RESTful services using Behat

image

tecnickcom/tc-lib-testrest

Library to test end-to-end RESTful services using Behat

  • Saturday, December 30, 2017
  • by nicolaasuni
  • Repository
  • 2 Watchers
  • 1 Stars
  • 2 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 17 Versions
  • 0 % Grown

The README.md

tc-lib-testrest

PHP library to test end-to-end RESTful API services using Gherkin language (Behat), (*1)

Latest Stable Version Master Build Status Master Coverage Status License Total Downloads, (*2)

Develop Branch Develop Build Status Develop Coverage Status, (*3)

Donate via PayPal Please consider supporting this project by making a donation via PayPal, (*4)

Description

PHP library to test end-to-end RESTful API services using Gherkin language (Behat), (*5)

Installation

This project requires PHP 5.4.0+ to use the PHP built-in web server., (*6)

  • Create a composer.json in your projects root-directory and include this project:
{
    "require-dev": {
        "tecnickcom/tc-lib-testrest": "^2.10"
    }
}

Or add to an existing project with:, (*7)

composer require tecnickcom/tc-lib-testrest ^2.10
  • Create a behat.yml file in the root directory of your project like the one in test/behat.yml and check the internal comments and options.
  • Create a test/features folder in your project like the one in test/features and write your own ".feature" files like the provided example.
  • Create (or update) a makefile like the one in this project which contains the "btest" target. This target starts the PHP built-in server and execute the Behat tests.

Development - getting started

First, you need to install all dependencies (you'll need composer):, (*8)

$ cd /tmp && curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

The following command will download all the composer dependencies required for development and testing:, (*9)

make build_dev

Running Tests

The internal unit tests includes a database testing, so you need to install MySQL and SQLite with PDO drivers. You also need to create the following MySQL database with the right privileges:, (*10)

CREATE DATABASE IF NOT EXISTS testrest_test;
GRANT ALL ON testrest_test.* TO 'testrest'@'%' IDENTIFIED BY 'testrest';
FLUSH PRIVILEGES;

You also need to install APC and memcached to test all features., (*11)

To execute all the tests you can now run make qa_all., (*12)

Please issue the command make help to see all available options and execute individual tests., (*13)

Coding standards

This project follows the PSR2 coding standard. To see any errors in your code, you can use the make phpcs command. We also use a tool to detect any code smells. To run it, use make phpmd., (*14)

Before submitting a Pull Request, please execute the make qa_all to be sure that no errors where introduced. Additionally, please check the target/coverage/index.html report to be sure that every line of code is covered by a unit test. If you add any new gherkin language feature please also add an example in test/features., (*15)

Developer(s) Contact

The Versions