Qualität und Wartung · Frage 10 von 12
Ein Unit-Test soll eine Preisberechnung mit mehreren Eingaben prüfen. Wie gibt man die Daten in PHPUnit 13 an?
1 Antwort ist richtig. Mittel
Lösung anzeigen
Lösung
- B Mit dem Attribut #[DataProvider('priceProvider')] am Test und einer public static function priceProvider(), die die Datensätze liefert
Erklärung
Seit PHPUnit 12 liest PHPUnit nur noch Attribute, Annotationen im DocBlock werden ignoriert. Der Provider muss public und static sein, jeder Datensatz wird als eigener Test ausgeführt, benannte Schlüssel erscheinen in der Ausgabe. Eine Schleife in einem Test bricht beim ersten Fehler ab und zeigt nicht, welche Eingaben sonst noch scheitern.