PHPackages                             everycheck/test-api-rest-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. everycheck/test-api-rest-bundle

AbandonedArchivedSymfony-bundle[Testing &amp; Quality](/categories/testing)

everycheck/test-api-rest-bundle
===============================

Allows you to easily test a rest api

1.4.0(4y ago)09635[3 PRs](https://github.com/everycheck/test-api-rest-bundle/pulls)MITPHP

Since Jan 18Pushed 3y ago2 watchersCompare

[ Source](https://github.com/everycheck/test-api-rest-bundle)[ Packagist](https://packagist.org/packages/everycheck/test-api-rest-bundle)[ RSS](/packages/everycheck-test-api-rest-bundle/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (15)Versions (14)Used By (0)

TestApiRestBundle
=================

[](#testapirestbundle)

[![Build Status](https://camo.githubusercontent.com/e9e51e70cdbb267f04507717c47dfe6ddbd0cdef451c3396f8de1cb9cd96246d/68747470733a2f2f7472617669732d63692e636f6d2f6576657279636865636b2f746573742d6170692d726573742d62756e646c652e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/everycheck/test-api-rest-bundle)

About
-----

[](#about)

TestApiRestBundle allows you to test your Symfony REST API deeply. It checks the validity of your application and ensures it stays robust throughout time using PHPUnit and via unit, scenario and database testing.

Table of contents
=================

[](#table-of-contents)

- [About](#about)
- [Installation](#installation)
- [Configuration](#configuration)
- [Usages](#usages)
- [Tests folder structure](#tests-folder-structure)
- [Launching test](#launching-test)

Installation
------------

[](#installation)

You can install using composer, assuming it's already installed globally :

```
composer require --dev everycheck\test-api-rest-bundle

```

Configuration
-------------

[](#configuration)

Configure the relative paths of the directories containing the requests payloads that you would send in your tests and their expected responses. The paths are taken from `AcmeBundle\tests\AcmeBundle`.

```
test_api_rest:
    directory:
        payloads: path/to/payloads
        responses: path/to/responses
```

So, here, the real path of the directories are :

`AcmeBundle\tests\AcmeBundle\path\to\payloads AcmeBundle\tests\AcmeBundle\path\to\responses`

Usages
------

[](#usages)

- [Basic usages](Resources/doc/SIMPLE_USAGE.md)

### Advanced usages

[](#advanced-usages)

- [Test dynamic responses](Resources/doc/PATTERN_USAGE.md)
- [Reuse response content](Resources/doc/REUSE_USAGE.md)
- [Test email sending and their content](Resources/doc/EMAIL_USAGE.md)

Tests folder structure
----------------------

[](#tests-folder-structure)

To test one of your bundle, you just have to replicate the structure of that one and add some directories by the following structure

```
.
├── tests                                       #   The basic Symfony test directory
│   ├── AcmeFooBundle                           #   Name of your bundle
│   │   ├── Controller
│   │   │   ├── FooControllerTest.php           #   Controller your want to test
│   │   │   └── ...
│   │   │
│   │   ├── DataFixtures
│   │   │   └── ORM
│   │   │       ├─ LoadAcmeFooFixtures.php     #   Fixtures dedicated to one controller
|   |   |       └── ...
│   │   │
│   │   ├── Payloads
│   │   │   └── ...                             #   File posted to your API
│   │   │
│   │   ├── Resources
│   │   │   └── config
│   │   │       ├── foo.yaml                    #   All the tests for a specific controller, set as a YAML file
│   │   │       └── ...
│   │   │
│   │   └── Responses                           #   All the expected responses coming from the endpoints of your API when testing it
│   │       └── Expected
│   │           └── ...
│   └──
└──

```

Launching test
--------------

[](#launching-test)

Here are the commands to execute in order to test the bundle :

```
composer install

./Tests/sampleProject/app/console d:d:d --force
./Tests/sampleProject/app/console d:d:c
./Tests/sampleProject/app/console d:s:c
./Tests/sampleProject/app/console s:start --docroot=./Tests/sampleProject/public

php ./Tests/sampleProject/tests/DemoBundle/DataFixtures/LoadDemoFixture.php localhost:portYouAreListening "[debug]"
php ./Tests/sampleProject/tests/PatternBundle/DataFixtures/LoadPatternFixture.php localhost:portYouAreListening "[debug]"

./Tests/sampleProject/app/console s:stop

./vendor/bin/phpunit

```

###  Health Score

32

—

LowBetter than 74% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 88% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~121 days

Recently: every ~183 days

Total

10

Last Release

1521d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b88d79a563f322c9f7c6423d72f166c22f3ac11b26d45e4d7870d8b26453b6e6?d=identicon)[canadadry](/maintainers/canadadry)

---

Top Contributors

[![deozza](https://avatars.githubusercontent.com/u/17722388?v=4)](https://github.com/deozza "deozza (66 commits)")[![Canadadry](https://avatars.githubusercontent.com/u/628187?v=4)](https://github.com/Canadadry "Canadadry (5 commits)")[![julienlenoirEverycheck](https://avatars.githubusercontent.com/u/93588474?v=4)](https://github.com/julienlenoirEverycheck "julienlenoirEverycheck (4 commits)")

---

Tags

phpunitsymfonysymfony-bundleapitestrest

### Embed Badge

![Health badge](/badges/everycheck-test-api-rest-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/everycheck-test-api-rest-bundle/health.svg)](https://phpackages.com/packages/everycheck-test-api-rest-bundle)
```

###  Alternatives

[lchrusciel/api-test-case

Perfect PHPUnit TestCase for JSON/XML API TDD with Symfony.

4115.4M61](/packages/lchrusciel-api-test-case)[fr3d/swagger-assertions

Test your API requests and responses against your swagger definition

138840.4k5](/packages/fr3d-swagger-assertions)[ubirak/rest-api-behat-extension

Rest Api Extension for Behat

41325.2k2](/packages/ubirak-rest-api-behat-extension)[kielabokkie/jsonapi-behat-extension

Behat extension for testing JSON APIs

1516.4k](/packages/kielabokkie-jsonapi-behat-extension)[teaandcode/behat-guzzle-extension

Behat API extension using Guzzle Service Descriptions to functionally test API endpoints

1017.7k](/packages/teaandcode-behat-guzzle-extension)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
