Test: expectReproduces heet "the strongest check" maar is blind voor een ontbrekend veld #1811
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#1811
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Wat er misgaat
expectReproducesintest/collab_deck_diff_test.dartstaat in het bestandomschreven als "the strongest check":
Voor de klasse fout die #1803 was, bewijst hij niets. De helper diffs het
resultaat opnieuw, en een veld dat de diff niet kent is in béíde richtingen
onzichtbaar: de hervergelijking komt leeg terug terwijl de waarde nooit is
overgekomen. De helper zou dus groen blijven op precies de bug waarvoor je hem
zou willen inzetten.
Dat is erger dan een test die ontbreekt. Een ontbrekende test ziet iedereen; een
test die "the strongest check" heet en structureel blind is, laat de volgende
lezer denken dat er iets bewaakt wordt.
Waarom het klein maar de moeite waard is
Elke bestaande aanroep van
expectReproducesis nog steeds nuttig — hij vangtwél verkeerde volgorde, gemiste invoegingen en verkeerd toegepaste waarden. Het
is de belofte in de doc-comment die te ruim is, en de reikwijdte die
onuitgesproken blijft.
Voorstel
is per definitie blind voor alles daarbuiten. Eén zin, en de val is weg.
veld vergelijkt over
SlideField.values— dan dekt hij wat hij belooft binnende oppervlakte, en blijft de blindheid beperkt tot wat de poort uit #1803
inmiddels apart bewaakt.
die verschillen, als waarschuwing in plaats van als fout. Dat maakt van de
blinde vlek iets zichtbaars in plaats van iets afwezigs.
Herkomst
#1803. De regressietest daar leest bewust de wáárde na toepassing in plaats van
op deze helper te leunen, met die reden erbij in het commentaar.