Suggest assertCount() over assertSame(n, count(...))
Maintainers usually reply within 1 day
A pull request for this has already been merged.
- #198 by @alies-dev — merged
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 42/100
Research direction
Read the plugin’s existing checks for assertSame(null|true|false, ...) and the referenced AssertSameWithCountRule in phpstan-phpunit. The issue proposes adding detection in afterMethodCallAnalysis for assertSame/assertEquals with count() or Countable::count() as the second argument, using the shared helper. Add tests for the new issue and confirm they cover both count forms.
Written by the indexing model from the issue text.
Description
$this->assertSame(3, count($lines)) is clearer as $this->assertCount(3, $lines), and the failure message shows the collection.
phpstan-phpunit reports it (AssertSameWithCountRule).
Idea: in afterMethodCallAnalysis, detect assertSame/assertEquals whose second argument is a count() call (or ->count() on a Countable) and emit a plugin issue. It shares the helper with the assertSame(null|true|false, ...) checks. Roughly 55 lines with tests.
Idea borrowed from phpstan/phpstan-phpunit.
- Dominant language
- Gherkin
- Stars
- 79
- Forks
- 38
- Avg merge
- 6h 52m
- Merged PRs (30d)
- 28
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from psalm/psalm-plugin-phpunit
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
psalm/psalm-plugin-phpunit#222 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
psalm/psalm-plugin-phpunit#220 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
psalm/psalm-plugin-phpunit#219 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
psalm/psalm-plugin-phpunit#216 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 3/5 1-2 days Newbie friendliness 57/100
psalm/psalm-plugin-phpunit#223 ·
Maintainers usually reply within 1 day
All issues in psalm/psalm-plugin-phpunit
Similar issues
-
e2e-failure ready-to-code
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
redhat-developer/rhdh-plugin-export-overlays#4733 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
melodic-software/claude-code-plugins#14993 · 2 comments ·
Maintainers usually reply within 1 day
-
quality-assurance
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Paul-Austin-Oswego-CSC480-HCI521/gift-app#228 ·
Maintainers usually reply within 1 day
-
tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
teradata-labs/loom#624 ·
Maintainers usually reply within 1 day