Skip to content

Repository files navigation

phpunit-profile-asserts

This lib provides asserts against execution time and memory usage. It also provides a StopwatchListener based on the Stopwatch component of Symfony.

Tests

Installation

phpunit-profile-asserts is installable via Composer and should be added as a require-dev dependency:

composer require --dev jclaveau/phpunit-profile-asserts

Usage

Enable by adding the following code to your project's phpunit.xml file:

<phpunitbootstrap="vendor/autoload.php">
...
<listeners>
<listenerclass="JClaveau\PHPUnit\Listener\StopwatchListener" />
</listeners>
</phpunit>
class SomeTestCase extends \PHPUnit_Framework_TestCase
{
use \JClaveau\PHPUnit\Framework\UsageConstraintTrait; // adds the asserts methods/** */publicfunctiontest_usages()
{
// ...$this->assertExecutionTimeBelow(1.5); // seconds$this->assertMemoryUsageBelow('1M');
// This trait also provides two methods to help knowing the current// memory usage and duration$this->getMemoryUsage();
$this->getExecutionTime();
}
}

TODO

  • Integrate SpeedTrap and adds MemoryTrap
  • Investigate xhprof integration and asserts on number of calls / execution time of specific methods/functions

Inspiration

License

phpunit-profile-asserts is available under the MIT License.

About

Provides asserts against memory usage and execution time for PHPUnit

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages