PHPackages                             rawsrc/exacodis - 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. rawsrc/exacodis

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

rawsrc/exacodis
===============

a PHP very minimalist test engine for PHP

1.2.4(3y ago)16MITPHPPHP &gt;=8.0

Since Aug 15Pushed 2y ago1 watchersCompare

[ Source](https://github.com/rawsrc/exacodis)[ Packagist](https://packagist.org/packages/rawsrc/exacodis)[ RSS](/packages/rawsrc-exacodis/feed)WikiDiscussions master Synced 6d ago

READMEChangelog (10)DependenciesVersions (2)Used By (0)

**Exacodis**
============

[](#exacodis)

`2022-08-15` `PHP 8.0+` `v.1.2.3`

**A PHP TESTING ENGINE**
------------------------

[](#a-php-testing-engine)

`Exacodis` is a very minimalist testing engine for PHP (very lightweight PHP testing framework). This engine is really far from others tools as it is very simple to use. No complex architecture, not even a huge testing engine, just the basic (and a little more) to help you to validate your PHP code.

Just 3 classes :

1. One to pilot the tests (called `Pilot`),
2. One to encapsulate and execute the test code (called `Runner`)
3. One to produce the report (called `Report`)

And many helpers to check the returned values against the expected types and/or values. The helpers are not exhaustive, you'll be able to create easily yours.

**INSTALLATION**

```
composer require rawsrc/exacodis
```

**IMPORTANT**

Please note that your source code for tests must be perfectly clean: you can't override a test run nor a result nor a resource.
If you do, then the code will fail with an `Exception` until you fix it.

**CHANGELOG**

1. Add the possibility to test any protected/private method from a class
2. Add the possibility to test any protected/private static method from a class
3. Does not break the compatibility with the previous version

**HOW TO USE**

I will directly use `Exacodis` to test itself as a learning support.

As `Exacodis` is a very lightweight engine, it's your responsibility to set up a test environment. Clearly, it's as simple as :

```
