PHPackages                             phisby/phisby - 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. phisby/phisby

ActiveLibrary[Testing &amp; Quality](/categories/testing)

phisby/phisby
=============

REST API Endpoint Testing built on PHPUnit

8100PHP

Since Oct 3Pushed 10y ago1 watchersCompare

[ Source](https://github.com/FabioBatSilva/phisby)[ Packagist](https://packagist.org/packages/phisby/phisby)[ RSS](/packages/phisby-phisby/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Phisby
======

[](#phisby)

[![Build Status](https://camo.githubusercontent.com/a5beeeb6c3c59fe52324eb7d100196351d300b2644268534d99c5679d8a875aa/68747470733a2f2f7472617669732d63692e6f72672f466162696f42617453696c76612f7068697362792e737667)](https://travis-ci.org/FabioBatSilva/phisby)[![Coverage Status](https://camo.githubusercontent.com/15d30f6cd0c0bc4fea3cc43d32b8ef95225dabc992490e8e2045ca311075a2d0/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f466162696f42617453696c76612f7068697362792f62616467652e7376673f6272616e63683d6d617374657226736572766963653d676974687562)](https://coveralls.io/github/FabioBatSilva/phisby?branch=master)

A REST API testing framework inspired by frisby-js, written in PHP

Documentation
-------------

[](#documentation)

Documentation for this library can be found on [readthedocs](http://phisby.readthedocs.org/en/latest)

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

[](#installation)

Run the following `composer` command:

```
$ composer require "phisby/phisby"
```

Basic Usage.
------------

[](#basic-usage)

```
use Phisby\Phisby

$phisby = new Phisby();

$phisby
    ->get('http://localhost/api/1.0/users/3.json')
    ->expectStatus(200)
    ->expectJSONTypes('.', [
        'id'        => 'integer',
        'username'  => 'string',
        'is_admin'  => 'boolean'
    ])
    ->expectJSON('.',[
        'id'        => 3,
        'username'  => 'johndoe',
        'is_admin'  => false
    ])
    ->send();
```

PHPUnit test case.
------------------

[](#phpunit-test-case)

```
use Phisby\PhisbyTestCase;

class PhisbyTest extends PhisbyTestCase
{
    public function testGithubSearch()
    {
        $this->phisby
            ->get('https://api.github.com/search/repositories?q=doctrine+language:php&sort=stars&order=desc&per_page=1')
            ->expectStatus(200)
            ->expectHeaders([
                'Content-Type' => 'application/json; charset=utf-8'
            ])
            ->expectJSONTypes('.', [
                'total_count'        => 'integer',
                'incomplete_results' => 'boolean',
                'items'              => 'array'
            ])
            ->expectJSONTypes('items[0]', [
                'id'      => 'integer',
                'name'    => 'string',
                'private' => 'boolean'
            ])
            ->expectJSON('items[0]',[
                'id'    => 597887,
                'name'  => 'doctrine2'
            ])->send();
    }
}
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90.5% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/23188f97766175f33828c3cb9e9d1700ba2d73bca7e99739f370a1771deb700a?d=identicon)[FabioBatSIlva](/maintainers/FabioBatSIlva)

---

Top Contributors

[![FabioBatSilva](https://avatars.githubusercontent.com/u/588172?v=4)](https://github.com/FabioBatSilva "FabioBatSilva (19 commits)")[![sergiors](https://avatars.githubusercontent.com/u/2046276?v=4)](https://github.com/sergiors "sergiors (2 commits)")

### Embed Badge

![Health badge](/badges/phisby-phisby/health.svg)

```
[![Health](https://phpackages.com/badges/phisby-phisby/health.svg)](https://phpackages.com/packages/phisby-phisby)
```

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M682](/packages/phpspec-prophecy)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[beberlei/assert

Thin assertion library for input validation in business models.

2.4k96.9M570](/packages/beberlei-assert)[mikey179/vfsstream

Virtual file system to mock the real file system in unit tests.

1.4k108.0M2.7k](/packages/mikey179-vfsstream)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)[phpspec/phpspec

Specification-oriented BDD framework for PHP 7.1+

1.9k36.7M3.1k](/packages/phpspec-phpspec)

PHPackages © 2026

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