私はPHPUnitを見ています。 PHPUnitがintを処理するかどうかを指定します。 1と0はブール値ですか?私の現在のテストでは、それはしません。PHPUnitアサートTrue One(1)
例:私の(するpreg_matchとして、これに失敗したテストで$this->assertTrue(preg_match('/asdf/', 'asdf'));
)はint型1または0を返すだけでエラーが発生した場合はfalse BOOLされます。
比較は常にboolを返すので、明らかに次のような作業を行います。 $this->assertTrue(preg_match('/asdf/', 'asdf') === 1);
私は私のpreg_match、またはそれを作るための私の主張に何かを見逃しています....
EDIT: assertTrueに一致する型が必要ですか?アサーションをあまり厳しくしない方法はありますか?
:しかし
を、PHPUnitは正規表現に対して文字列をチェックするための専用のアサーションを持っていることを起こります私の質問に答えますが、間違いなく価値のあるコメントです。ありがとうございました。 – alairock
'assertTrue'は本当の' true'値をチェックし、何か "truthy"を "1"としてチェックしません。 – Sven
より具体的には、PHPUnitの 'assertTrue'は' 'triple-equal '比較を行い、' double-equal '比較はしません。 var_dump(1 == true);と 'var_dump(1 === true);'を参照してください。質問。私はオリジナルを特定のものに編集します。 – alairock