ホームページ > バックエンド開発 > PHPチュートリアル > PHPUnit ポケット自動テストガイド_PHP チュートリアル

PHPUnit ポケット自動テストガイド_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:32:43
オリジナル
802 人が閲覧しました

優秀なプログラマーは間違いを犯す。良いプログラマと悪いプログラマの違いは、良いプログラマはテストを通じてできるだけ多くのエラーを見つけることができるということです。バグのテストが早ければ早いほど、バグの発見も早くなり、発見して修正するコストも安くなります。これは、リリース直前にソフトウェアをテストすることがなぜ非常に問題があるのか​​を説明しています。ほとんどのバグは決して見つからず、見つかったバグを修正するのは非常に手間がかかるため、すべてを修正する余裕はないため、それらのバグのみを修正することを優先する必要があります。

あなたが使用している方法と比較すると、php(現在主流の開発言語として)ユニットをテストに使用することは、まったく別のものではありません。彼らは異なる方法を持っているだけです。 2 つの違いは、プログラムが正しく動作するかどうかのチェックが、自動的にテストできるコード スニペットのバッチを通じて行われることです。これらのコード スニペットは単体テストと呼ばれます。 このパートでは、まず、印刷されたテスト コードに基づいて自動テストを実行します。 php(現在の主流の開発言語として)の組み込み配列 Array をテストしたいとします。実行する必要があるテストの 1 つは、関数 sizeof() です。sizeof() 関数は、新しく作成された配列に対して 0 を返す必要があります。新しい配列メンバーを追加すると、sizeof() は 1 を返す必要があります。例 1 は、テストする内容を示しています。

例1. arrayとsizeof()をテストする

<?php(現在の主流の開発言語として)
$fixture = Array( );
// $fixtureは空である必要があります。

$fixture[] = "element";
// $fixture には配列メンバーが含まれている必要があります。
?>

最も簡単なテスト方法は、配列メンバーを追加する前後の sizeof() の演算結果を出力することです。0 と 1 が返された場合は、Array と sizeof() が正常に動作していることを意味します。

例2. print ステートメントを使用して Array と sizeof() をテストします

<?php(現在の主流の開発言語として)
$fixture = Array( );
print sizeof($fixture) 。 ";

$fixture[] = "要素";
print sizeof($fixture) . " ";
?>
0
1

ここで、テストプログラムを手動解釈から自動実行に変更します。例 3 では、期待値と実際の値を比較し、それらが等しい場合に ok を出力します。 find that there 結果が OK でない場合は、問題があることがわかります

例 3. Array と sizeof() の期待値と実際の値を比較します

<?php(現在主流の開発言語として) )
$fixture = Array( ) ;
print sizeof($fixture) == 0 "わかりました? " : "よくない ";

$fixture[] = "要素";
print sizeof($fixture) == 1? "ok " : "よくない ";
?>
ok
ok

ここで、新しい要素を導入します。期待値が実際の値と異なる場合は、例外をスローします。こうすることで、出力が単純になります。テストが成功した場合は、何もしません。ハンドルされない例外があり、問題があることはわかっています

例 4. アサーション関数を使用して Array と sizeof() をテストする

(現在の主流の開発言語として)
$fixture = Array. ;
assertTrue(sizeof($fixture) = = 0);

$fixture[] = "要素";
assertTrue(sizeof($fixture) == 1);

assert functionTrue($condition) {
if ( !$condition) {
throw new Exception("Assertion failed.");
}
}
?>

最初のバージョンとは異なり、このバージョンではテストが完全に自動化されます

目的は。自動テストを使用する場合、コードが完璧ではない場合でも、自動テストによってコードが公平であるという確信が得られることがわかります。あなたの努力のおかげでシステムがより優れていることを証明できるので、設計に大胆な飛躍をもたらし、チームパートナーとの連携を改善し、あなたと顧客との関係を改善し、毎日安らかに眠ることができます。

http://www.bkjia.com/PHPjc/508675.html

本当http://www.bkjia.com/PHPjc/508675.html技術記事優秀なプログラマーも間違いを犯します。良いプログラマと悪いプログラマの違いは、良いプログラマはテストを通じてできるだけ多くのエラーを見つけることができるということです。バグのテストが早ければ早いほど、より早くバグを発見できます...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート