Ich schreibe Komponententests, um die Funktionalität von zwei Bibliotheken zu validieren ist das gleiche. Im Wesentlichen, Testen einer Schnittstelle.PHPUnit Assert Eines von zwei möglichen Ergebnissen
Allerdings in einigen Tests zur Fehlerbehandlung. Die Fehlerstufe ist unterschiedlich und muss unterschiedlich sein, weil zum Beispiel E_WARNING und die andere nur E_USER_WARNING generieren kann.
So ist die Frage. Gibt es eine Behauptung in der PHP-Einheit, die sagen kann, dass der Fehler eines von zwei möglichen Ergebnissen sein muss? Etwas wie:
assertIsIn(array(E_WARNING, E_USER_WARNING), $generatedError);
Ich weiß, dass ich wahrscheinlich um es funktionieren könnte durch die erwarteten und tatsächlichen Antworten über in assertContains Swapping() oder möglicherweise einige vorge behaupten Manipulation der Ergebnisse. Aber gibt es einen saubereren Ansatz?
Gute Antwort, hand't Ich entdeckte, dass AssetContains Syntax ist Nadel/Heuhaufen anstelle von erwartet/tatsächlich in den Parametern. –