Ich schaue PHPUnit und das folgende hat mich wundernd. Behandelt oder behandelt PHPUnit nicht int. 1 und 0 als Boolean? Bei meinen aktuellen Tests ist dies nicht der Fall.PHPUnit Assert True One (1)
Beispiel: $this->assertTrue(preg_match('/asdf/', 'asdf'));
In meinen Tests dies nicht gelingt, wie preg_match() wird int 1 oder 0 zurückkehrt und nur falsch Bool, wenn ein Fehler auftritt.
Ich nehme es die folgenden Arbeiten, offensichtlich, da Vergleiche immer Bool zurückgeben. $this->assertTrue(preg_match('/asdf/', 'asdf') === 1);
Fehle ich etwas in meinem preg_match, oder meine Behauptung, es zu machen .... weniger streng?
EDIT: Benötigt assertTrue Typen übereinstimmen? Gibt es eine Möglichkeit, die Behauptung weniger streng zu machen?
Diese doesn‘ t meine Frage beantworten, aber auf jeden Fall ein würdiger Kommentar. Danke, vermerkt. – alairock
'assertTrue' prüft nach einem echten" wahren "Wert, nicht nach etwas" truthy "wie" 1 ". – Sven
Um genauer zu sein, verstehe ich, was Sie sagen als: 'assertTrue' in PHPUnit macht einen" Triple-equal "Vergleich und nicht einen" Doppel-gleich "Vergleich. (Siehe 'var_dump (1 == true);' und 'var_dump (1 === true);' Der erste kommt wieder wahr und der zweite kommt falsch zurück, da ein "triple-equals" auch dem Typ entspricht. So ist mein Frage: Ich werde das Original so bearbeiten, dass es so spezifisch ist. – alairock