私の無知を許してください。私はまだユニットテストの領域に慣れていません。
誰かが理由を説明できますか。
$this->assertGreaterThan( 2, $result );
..よりも良い..
$this->assertTrue( $result > 2 );
..(そして同様に、他のすべての特定のassertメソッド)?
ありがとう!
私の無知を許してください。私はまだユニットテストの領域に慣れていません。
誰かが理由を説明できますか。
$this->assertGreaterThan( 2, $result );
..よりも良い..
$this->assertTrue( $result > 2 );
..(そして同様に、他のすべての特定のassertメソッド)?
ありがとう!
お母さん/お父さん/おじにそれらを見せたら、assertGreaterThan
はるかに直感的です. さらに、 isGreaterThan の失敗メッセージははるかに優れています
"1 was not greater than 2"
また
"false was not true"
どちらがより表現力豊かですか?
実際には、最良の方法は、より読みやすく、より適切な失敗メッセージを提供します: PHPUnit 関数ベースのアサーションまたはHamcrest ライブラリを使用します。
assertThat(count($users), greaterThan(2));
>> Expected: greater than 2
>> but: was 1
また
assertThat($users, arrayWithSize(greaterThan(2)));
>> Expected: array with size greater than 2
>> but: was array with size 1
assertThat
アサーション メソッドまたは Hamcrest の関数の最初のパラメーターとして文字列を追加するか、PHPUnit のassertThat
関数の 3 番目のパラメーターとして文字列を追加することにより、いつでも読み取り可能なエラー メッセージを任意のアサーションに提供できます。
self::assertTrue('At least one user found', !empty($users));
>> At least one user found
>> Expected: true
>> but: false
また
assertThat('At least one user found', !empty($users), is(true));
>> At least one user found
>> Expected: true
>> but: false
よりも良い ...
誰がそう言う?どちらも同じくらい良いです。どちらの場合も読みやすさは異なりますが、どちらも特に優れているわけではありません。いくつかの変数抽出を使用して、さらに改善できます。
$minimumValue = 2;
$this->assertGreaterThan($minimumValue, $result);
と
$resultGreaterThanMinimumValue = $result > 2;
$this->assertTrue($resultGreaterThanMinimumValue);
これはまだ理想的ではありませんが (これらのアサートは英語の文のようには読めないため)、これら 2 つのアプローチはどちらも優れていません。