-
Notifications
You must be signed in to change notification settings - Fork 37
Comparing changes
Open a pull request
base repository: psalm/psalm-plugin-phpunit
base: 0.19.3
head repository: psalm/psalm-plugin-phpunit
compare: 0.19.4
- 18 commits
- 21 files changed
- 2 contributors
Commits on Mar 30, 2025
-
By removing `composer/package-versions-deprecated`, and instead using `composer-runtime-api:^2`, we both get rid of a dependency, and obtain better type information from our lookup. This also coincidentally drops a bunch of inline `@psalm-suppress` statements.
Configuration menu - View commit details
-
Copy full SHA for 6f7201f - Browse repository at this point
Copy the full SHA 6f7201fView commit details -
Dropping stubs for
expectException()and mock methods, and bumping ……PHPUnit version Since PHPUnit 8.0, `expectException()` has proper type annotations, and I even patched `createMock()` and similars so that proper generic types are inferred. These stubs are therefore no longer necessary. At this point, these classes are mostly "OK" in PHPUnit, starting ~8.5.1: * `PHPUnit\Framework\MockObject\Builder\InvocationMocker` (now declares missing types) * `PHPUnit\Framework\MockObject\MockObject` (still uses `@method` at class level, but that works) * `PHPUnit\Framework\MockObject\MockBuilder` (fully templated) * `PHPUnit\Framework\TestCase` (except for `prophesize()`, which was later removed)
Configuration menu - View commit details
-
Copy full SHA for d749c4c - Browse repository at this point
Copy the full SHA d749c4cView commit details -
Adding a conflict to PHPUnit earlier than 8.5.1, to make the phpunit version requirement more clear. Starting with PHPUnit 8.0, assertions have decent assertion metadata declarations on most methods. This also removes assertion tests, simplifying the test suite further.
Configuration menu - View commit details
-
Copy full SHA for 74192e9 - Browse repository at this point
Copy the full SHA 74192e9View commit details -
Starting from Prophecy 1.20.0, methods have proper generic types declared. Adding a conflict to prevent earlier prophecy versions from being co-installed. Refs: * phpspec/prophecy@e4d39b1 * phpspec/prophecy@0bb033e * phpspec/prophecy@4506935
Configuration menu - View commit details
-
Copy full SHA for 216bc9f - Browse repository at this point
Copy the full SHA 216bc9fView commit details -
Starting from `phpspec/prophecy-phpunit:2.3.0`, the out-of-the-box `ProphecyTrait` is well typed. Ref: phpspec/prophecy-phpunit@ba6dc1b
Configuration menu - View commit details
-
Copy full SHA for 74aa83f - Browse repository at this point
Copy the full SHA 74aa83fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 139d8f2 - Browse repository at this point
Copy the full SHA 139d8f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 03bb9ad - Browse repository at this point
Copy the full SHA 03bb9adView commit details -
Run against PHPunit 10 in CI: without it, we don't have attributes co…
…mmitted Ref: sebastianbergmann/phpunit@893c4dd
Configuration menu - View commit details
-
Copy full SHA for aac9717 - Browse repository at this point
Copy the full SHA aac9717View commit details -
Externalize installation of
codeception/codeceptionand `weirdan/co……deception-psalm-module` These packages are runtimes that invoke `psalm/plugin-phpunit` via `exec()`, without sharing codespace with it, and therefore are safe to externalize elsewhere. We can't afford keeping these dependencies co-located with the main `composer.json` / `composer.lock`, as they conflict with non-dev dependencies that we want to explicitly test against.
Configuration menu - View commit details
-
Copy full SHA for 409c587 - Browse repository at this point
Copy the full SHA 409c587View commit details -
Rewrote acceptance test suite to use
behat/behatas a main runnerWhile `psalm/codeception-psalm-module` is a good idea in theory, in practice, Gherkin scenario steps as a composer dependency are really (REALLY) hard to distribute and maintain together with a test suite. This move replaces the external dependency with a local one, with the test runner mostly staying out of the way, and test logic all implemented in the `Context` class we wrote ourselves. The main aim is to improve atomicity of changes on the test suite itself. Ref: psalm/codeception-psalm-module#54
Configuration menu - View commit details
-
Copy full SHA for bd8ef97 - Browse repository at this point
Copy the full SHA bd8ef97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2837a1c - Browse repository at this point
Copy the full SHA 2837a1cView commit details -
Rewrote
attributeValueto use a procedural coding style, as request……ed by @danog Ref: #149 (comment)
Configuration menu - View commit details
-
Copy full SHA for edf4d32 - Browse repository at this point
Copy the full SHA edf4d32View commit details -
Configuration menu - View commit details
-
Copy full SHA for a13bd53 - Browse repository at this point
Copy the full SHA a13bd53View commit details
Commits on Mar 31, 2025
-
Merge pull request #149 from Ocramius/feature/support-phpunit-attributes
Implemented support for `#[Test]`, `#[DataProvider]`, `#[Before]` attributes, cleaned up old PHPUnit/Prophecy support
Configuration menu - View commit details
-
Copy full SHA for 415fde7 - Browse repository at this point
Copy the full SHA 415fde7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 529f041 - Browse repository at this point
Copy the full SHA 529f041View commit details -
Configuration menu - View commit details
-
Copy full SHA for d4d893c - Browse repository at this point
Copy the full SHA d4d893cView commit details -
Configuration menu - View commit details
-
Copy full SHA for a28228f - Browse repository at this point
Copy the full SHA a28228fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7a4facc - Browse repository at this point
Copy the full SHA 7a4faccView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0.19.3...0.19.4