Sto guardando PHPUnit e il seguente mi chiede. Fa o no PHPUnit gestire int. 1 e 0 come booleano? Nel mio test corrente, non è così.PHPUnit Assert True One (1)
Esempio: $this->assertTrue(preg_match('/asdf/', 'asdf'));
Nel mio test questo non riesce, come preg_match() sta tornando int 1 o 0 e solo bool false se si verifica un errore.
Prendo i seguenti lavori, ovviamente, poiché i confronti restituiscono sempre bool. $this->assertTrue(preg_match('/asdf/', 'asdf') === 1);
Mi manca qualcosa nel mio preg_match, o la mia affermazione per renderlo .... meno rigoroso?
MODIFICA: Il valore assertTrue richiede che i tipi corrispondano? C'è un modo per rendere meno rigorosa l'asserzione?
Questo doesn' t rispondere alla mia domanda, ma sicuramente un commento degno. Grazie, notato. – alairock
'assertTrue' controlla un vero valore' true', non qualcosa di "vero" come "1". – Sven
Per essere più precisi, capisco quello che dici come: "assertTrue" in PHPUnit fa un confronto "triplo-uguale", e non un confronto "doppio-uguale". (Vedi 'var_dump (1 == true);' e 'var_dump (1 === true);' Il primo ritorna vero e il secondo torna falso, poiché un "triple-uguali" corrisponde anche al tipo. domanda: modifico l'originale per essere specifico. – alairock