calling assertInstanceOf on a property set in TestCase::setUp() should result in RedundantCondition
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 22/100
Direzione di ricerca
Start by reading the plugin's handling of PHPUnit assertions and the existing tests for Psalm's RedundantCondition diagnostics. The issue gives a proposed TestCase::setUp() example, but says the exact error and test case are uncertain; trace how property types flow from setUp() into test methods and determine the expected diagnostic. Done means a regression test confirms the intended behavior without introducing other errors.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
- if
TestCase::$fooisT|null - and
TestCase::setUp()setsTestCase::$footoT - and nothing else modifies
TestCase::$foo - then
TestCase::assertInstanceOf(T::class, $this->foo)is redundant
not quite sure on the exact error/test case that should occur, but this is a vague mashup of what I'm thinking:
Scenario: setUp resolves types
Given I have the following code
"""
class MyTestCase extends TestCase
{
/** @var \DateTime|null */
private $date;
/** @return void */
public function setUp() {
$this->date = new \DateTime();
}
/** @return void */
public function testSomething() {
$this->assertInstanceOf(\DateTime::class, $this->date);
}
}
"""
When I run Psalm
Then I see these errors
| Type | Message |
| RedundantConditionGivenDocblockType | Found a redundant condition when evaluating docblock-defined type $this->date and trying to reconcile type 'DateTime' to DateTime |
And I see no other errors
- Lingua principale
- Gherkin
- Stelle
- 79
- Fork
- 38
- Merge medio
- 6h 52m
- PR unite (30g)
- 28
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di psalm/psalm-plugin-phpunit
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
psalm/psalm-plugin-phpunit#222 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
psalm/psalm-plugin-phpunit#220 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
psalm/psalm-plugin-phpunit#219 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
psalm/psalm-plugin-phpunit#216 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 57/100
psalm/psalm-plugin-phpunit#223 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di psalm/psalm-plugin-phpunit
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
charmplusplus/charm#4210 ·
I maintainer di solito rispondono entro 1 giorno
-
e2e-failure ready-to-code
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
redhat-developer/rhdh-plugin-export-overlays#4733 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
melodic-software/claude-code-plugins#14993 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
quality-assurance
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Paul-Austin-Oswego-CSC480-HCI521/gift-app#228 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
keithamus/css-minify-tests#378 ·
I maintainer di solito rispondono entro 1 giorno