Suggest assertNull() over assertSame(null, ...)

Open
#181 0 comments 0 reactions 0 assignees View on GitHub

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
38/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
php
Domain
testing

Research direction

Start with the plugin’s afterMethodCallAnalysis hook and the existing test patterns for plugin issues; the issue gives no file paths. Check how the plugin reports and tests diagnostics, then add coverage for assertSame(null, ...) and assertNotSame(null, ...) with the suggested assertions. Done means the diagnostics recommend assertNull() and assertNotNull() respectively; a merged pull request already addresses this issue.

Written by the indexing model from the issue text.

Description

enhancement good first issue

$this->assertSame(null, $value) works but reads worse and gives a less specific failure message than $this->assertNull($value).

phpstan-phpunit reports it (AssertSameNullExpectedRule).

Idea: in afterMethodCallAnalysis, when assertSame/assertNotSame is called with a literal null as the first argument, emit a plugin issue suggesting assertNull()/assertNotNull(). This and the similar assertSame(true|false, ...) and assertSame(n, count(...)) checks can share one helper. Roughly 40 lines with tests. Plugin issues can be suppressed per project by anyone who prefers the current style.

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from psalm/psalm-plugin-phpunit

All issues in psalm/psalm-plugin-phpunit

Similar issues

More Testing & QA issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.