Skip to content


Repository files navigation

Latest Stable Version GitHub stars Total Downloads GitHub Workflow Status Type Coverage License Donate!

PHPUnit Iterable Assertions


Provide new assertions for your tests using PHPUnit.


  • assertIdenticalIterable
  • assertNotIdenticalIterable


composer require --dev loophp/phpunit-iterable-assertions



namespace tests;

use loophp\PhpUnitIterableAssertions\Traits\IterableAssertions;
use PHPUnit\Framework\TestCase;

final class MyTest extends TestCase
    use IterableAssertions;

    $expected = range('a', 'c');
    $actual = ['a' => 'a', 'b' => 'b', 'c' => 'c'];

    // This will fail: The keys are different.

    // This will succeed: Both iterables are different.


Code quality, tests, benchmarks

Every time changes are introduced into the library, Github runs the tests.

The library has tests written with PHPunit. Feel free to check them out in the tests directory.

Before each commit, some inspections are executed with GrumPHP; run composer grumphp to check manually.

The quality of the tests is tested with Infection a PHP Mutation testing framework - run composer infection to try it.

Static analyzers are also controlling the code. PHPStan and PSalm are enabled to their maximum level.


Feel free to contribute by sending pull requests. We are a usually very responsive team and we will help you going through your pull request from the beginning to the end.

For some reasons, if you can't contribute to the code and willing to help, sponsoring is a good, sound and safe way to show us some gratitude for the hours we invested in this package.

Sponsor me on Github and/or any of [the contributors][6].


See for a changelog based on git commits.

For more detailed changelogs, please check the release changelogs.