Prophecy VS PHPUnit

Compare Prophecy vs PHPUnit and see what are their differences.

Prophecy

Highly opinionated mocking framework for PHP 5.3+ (by phpspec)

PHPUnit

The PHP Unit Testing framework. (by sebastianbergmann)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Prophecy PHPUnit
2 47
8,530 19,538
-0.0% -
6.5 9.9
24 days ago 6 days ago
PHP PHP
MIT License BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Prophecy

Posts with mentions or reviews of Prophecy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-03-18.
  • Test doubles
    3 projects | dev.to | 18 Mar 2021
    Prophecy is a framework for creating test doubles that was initially built for the requirements of phpspec, but it can be used with any other PHP testing framework. Since PHPUnit 4.5 it bundles Prophecy within PHPUnit itself, but as of PHPUnit 9.x this bundling is deprecated and set to be removed in PHPUnit 10.
  • Testing with immutable PSR-7 objects and Prophecy
    3 projects | dev.to | 4 Mar 2021
    Recently I have been working a lot with PSR-15 and PSR-18 and one of the characteristics of these recommendations is that it uses the immutable objects specified in PSR-7. Soon after we introduced PSR-18 in our codebase a colleague implemented a client including a unit test that was passing. And yet the code was failing when run in the browser. The cause of this was that the fact that RequestInterface objects are immutable by specification was overlooked. Due to the use of Prophecy and prophesized objects we were struggling to properly test it. Until another colleague introduced me to Argument::that() that is.

PHPUnit

Posts with mentions or reviews of PHPUnit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-27.
  • 8 Essential Tools Every PHP Developer Needs
    6 projects | dev.to | 27 Feb 2024
    PHPUnit is the de facto standard for PHP unit testing. It provides a framework for writing and running tests, helping developers quickly discover and fix errors. PHPUnit encourages developers to write testable code and adopt a test-driven development approach, resulting in higher-quality code and reduced chances of errors in production.
  • How to migrate from Api Platform v2 to v3?
    2 projects | dev.to | 29 Nov 2023
    Before updating Api Platform, you should make sure that your Api Platform routes are fully covered by tests. You can define integration tests with PHPUnit, Behat or Pest, depending on the tool you’re most comfortable with.
  • How To Write Better and Quality Code
    5 projects | dev.to | 5 Nov 2023
    PHP popular tools for testing: PHPUnit
  • PHP libraries and tools
    47 projects | dev.to | 18 Oct 2023
    PHPUnit: PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks. Extensions/tools: brianium/paratest: Parallel testing for PHPUnit johnkary/phpunit-speedtrap: Reports on slow-running tests in your PHPUnit test suite. robiningelbrecht/phpunit-pretty-print: Better PHPUnit CLI output with Collision roave/no-leaks: PHPUnit Plugin for detecting Memory Leaks in code and tests
  • PHPUnit 10 - Coverage attributes
    1 project | /r/PHP | 23 Jun 2023
    We want to start migrating to Attributes because of the announcement made here that in PHPUnit 12 support for metadata in docblocks will be removed: https://github.com/sebastianbergmann/phpunit/issues/4502
  • Top 6 PHP code quality tools 2023
    7 projects | dev.to | 30 May 2023
    PHPUnit: PHPUnit PHPUnit is a testing framework for PHP. It enables developers to write unit tests, integration tests, and functional tests to verify the correctness of their code. It offers a wide range of assertions, test runners, and mocking capabilities. Documentation: Explore PHPUnit's capabilities and learn how to write effective tests in the official documentation: PHPUnit Repository
  • I created a PHPUnit 10 extension to prettify CLI output
    6 projects | /r/PHP | 25 Apr 2023
    I really like how Pest PHP formats and outputs test results, but I still prefer to use PHPUnit. Luckily there's Collision. This package is designed to give you beautiful error reporting when interacting with your app through the command line.
  • Setup local development environment and run tests of PHP Twig
    5 projects | dev.to | 19 Mar 2023
    Finally we install the command line version of php (no web server is needed for this project), composer which is a package management system for PHP and PHP Unit, the testing framework of PHP.
  • Using github actions to execute your PHP tests after every push
    3 projects | dev.to | 25 Feb 2023
    I've been developing my own symfony bundle and I would like to share with you how I'm driving continuos integration to execute my unit tests. For testing purposes I'm using phpunit and for continous integration i've choosen github actions.
  • 7 Powerful Tools to Simplify Laravel Developers' Life
    2 projects | dev.to | 23 Jan 2023
    PHPUnit is a unit testing framework for PHP included with Laravel and can be used to test your application's code. It provides a set of assertions and functions for testing your code and can be used to run automated tests.

What are some alternatives?

When comparing Prophecy and PHPUnit you can also consider the following projects:

Mockery - Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL).

Codeception - Full-stack testing PHP framework

Phake - PHP Mocking Framework

Pest - Pest is an elegant PHP testing Framework with a focus on simplicity, meticulously designed to bring back the joy of testing in PHP.

AspectMock - The most powerful and flexible mocking framework for PHPUnit / Codeception.

PHPStan - PHP Static Analysis Tool - discover bugs in your code without running it!

Behat - BDD in PHP

Atoum - The modern, simple and intuitive PHP unit testing framework.

Faker