PHPackages                             icyapril/whats-changed - 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. icyapril/whats-changed

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

icyapril/whats-changed
======================

Run PHPUnit tests on only classes and tests which have changed

v1.0.1(9y ago)51306[4 issues](https://github.com/IcyApril/WhatsChanged/issues)[2 PRs](https://github.com/IcyApril/WhatsChanged/pulls)BSD-3-ClausePHPPHP &gt;=7.0

Since May 14Pushed 7y ago3 watchersCompare

[ Source](https://github.com/IcyApril/WhatsChanged)[ Packagist](https://packagist.org/packages/icyapril/whats-changed)[ RSS](/packages/icyapril-whats-changed/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (2)Dependencies (1)Versions (4)Used By (0)

What's Changed?
===============

[](#whats-changed)

Run PHPUnit tests only on files which have changed. Useful during development stages when working with codebases with huge test suites.

How to use
----------

[](#how-to-use)

1. Make sure your project is set-up with Git
2. Pull in through Composer
3. Run `./vendor/bin/whatschanged`
4. Magic!

Conditions
----------

[](#conditions)

- Only works with files ending with `.php`
- Assumes your classes are in `src` and tests are mapped in the exact file structure in the `tests` folder.
- If a Unit Test in the `tests` folder is changed, that test is re-run
- Files which are monitored are those which are changed in the working tree since your last commit and those modified in the previous commit

### Examples

[](#examples)

If `src/Git.php` is changed we look for a test suite in `tests/GitTest.php`, if the test `tests/GitTest.php` is changed we run that test.

Note
----

[](#note)

- I wrote this in a few hours overnight once
- This doesn't support Windows
- You should run all your tests at least once before you merge your code in. This tool is purely to aid development whilst working with a large set of tests.

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 66.7% 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 ~2 days

Total

3

Last Release

3330d ago

Major Versions

v0.0.1 → v1.0.02017-05-14

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2026099?v=4)[Junade](/maintainers/IcyApril)[@IcyApril](https://github.com/IcyApril)

---

Top Contributors

[![IcyApril](https://avatars.githubusercontent.com/u/2026099?v=4)](https://github.com/IcyApril "IcyApril (2 commits)")[![gsdevme](https://avatars.githubusercontent.com/u/319498?v=4)](https://github.com/gsdevme "gsdevme (1 commits)")

### Embed Badge

![Health badge](/badges/icyapril-whats-changed/health.svg)

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

###  Alternatives

[brianium/paratest

Parallel testing for PHP

2.5k129.9M913](/packages/brianium-paratest)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k41.3M38.9k](/packages/orchestra-testbench)[drupal/core-dev

require-dev dependencies from drupal/drupal; use in addition to drupal/core-recommended to run tests from drupal/core.

2022.0M321](/packages/drupal-core-dev)[webmozarts/strict-phpunit

Enables type-safe comparisons of objects in PHPUnit

30300.1k6](/packages/webmozarts-strict-phpunit)

PHPackages © 2026

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