ホームページ php教程 php手册 PHPUnit 自動テストのポケット ガイド

PHPUnit 自動テストのポケット ガイド

Jun 21, 2016 am 09:00 AM
array element sizeof

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

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

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

$fixture = Array( );
// $fixture は空である必要があります。

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

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

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

$fixture = Array( );
print sizeof($fixture) . "n";

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

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

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

$fixture = Array( );
print sizeof ($fixture ) == 0 ? "okn" : "not okn";

$fixture[] = "element";
print sizeof($fixture) == 1 ? not okn" ;
?>
ok
ok

ここで新しい要素を導入します。期待値が実際の値と異なる場合は、例外をスローします。このようにして、出力はよりシンプルになります。テストが成功した場合は何も行われませんが、未処理の例外がある場合は、何かが間違っていることがわかります。

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

$fixture = Array( );
assertTrue(sizeof($fixture ) = = 0);

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

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

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

自動テストを使用する目的は、間違いをできるだけ少なくすることです。コードはまだ完璧ではありませんが、適切な自動テストを行うと、エラーが大幅に減少することがわかります。自動テストにより、コードが公平であるという確信が得られます。この自信があれば、設計に大胆な飛躍をもたらし、チームとの連携を強化し、顧客との関係を改善し、自分の努力のおかげでシステムがより優れていることを証明できるので、毎日安心して眠ることができます。



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

element.styleの変更方法 element.styleの変更方法 Nov 24, 2023 am 11:15 AM

element.style で要素を変更するメソッド: 1. 要素の背景色を変更する; 2. 要素のフォント サイズを変更する; 3. 要素の境界線のスタイルを変更する; 4. 要素のフォント スタイルを変更する; 5要素の水平方向の配置を変更します。詳細な紹介: 1. 要素の背景色を変更します。構文は "document.getElementById("myElement").style.backgroundColor = "red";"; 2. 要素のフォント サイズなどを変更します。

C# の Array.Sort 関数を使用して配列を並べ替える C# の Array.Sort 関数を使用して配列を並べ替える Nov 18, 2023 am 10:37 AM

タイトル: Array.Sort 関数を使用して C# で配列を並べ替える例 本文: C# では、配列は一般的に使用されるデータ構造であり、多くの場合、配列を並べ替える必要があります。 C# には Array クラスが用意されており、このクラスには配列を簡単に並べ替えるための Sort メソッドがあります。この記事では、C# で Array.Sort 関数を使用して配列を並べ替える方法を示し、具体的なコード例を示します。まず、Array.Sort 関数の基本的な使用法を理解する必要があります。 Array.So

C/C++ では、構造体の sizeof が各メンバーの sizeof の合計と等しくないのはなぜですか? C/C++ では、構造体の sizeof が各メンバーの sizeof の合計と等しくないのはなぜですか? Aug 26, 2023 am 09:29 AM

sizeof() で取得される構造体型の要素のサイズは、個々のメンバーのサイズと必ずしも同じではありません。コンパイラは、アライメントの問題を回避するためにパディングを追加する場合があります。したがって、寸法が変更される可能性があります。パディングは、構造メンバーの後に大きいサイズのメンバーが続く場合、または構造の最後にある場合に追加されます。コンパイラが異なれば、アライメント制約のタイプも異なります。 C 標準では、全体的なアライメント構造は実装に依存します。ケース 1 この場合、double z の長さは 8 バイトであり、x (4 バイト) よりも大きくなります。したがって、さらに 4 バイトのパディングが追加されます。さらに、short 型データ y にはメモリ内に 2 バイトのスペースがあるため、余分な 6 バイトがパディングとして追加されます。サンプルコード #include<stdio.h>structmyS

PHPのarray_merge_recursive()関数を使用するシンプルで明確な方法 PHPのarray_merge_recursive()関数を使用するシンプルで明確な方法 Jun 27, 2023 pm 01:48 PM

PHP でプログラミングする場合、多くの場合、配列をマージする必要があります。 PHP には、配列のマージを完了するための array_merge() 関数が用意されていますが、配列内に同じキーが存在する場合、この関数は元の値を上書きします。この問題を解決するために、PHP は配列をマージして同じキーの値を保持できる array_merge_recursive() 関数を言語で提供し、プログラム設計をより柔軟にします。配列マージ

PHP で array_combine 関数を使用して 2 つの配列を結合して連想配列にする方法 PHP で array_combine 関数を使用して 2 つの配列を結合して連想配列にする方法 Jun 26, 2023 pm 01:41 PM

PHP には、配列操作をより便利かつ高速にする強力な配列関数が多数あります。 2 つの配列を結合して連想配列にする必要がある場合、PHP の array_combine 関数を使用してこの操作を実行できます。この関数は、実際には、ある配列のキーを別の配列の値として新しい連想配列に結合するために使用されます。次に、PHP の array_combine 関数を使用して 2 つの配列を結合して連想配列にする方法を説明します。 array_comb について学ぶ

PHPのarray_fill()関数の使い方の詳しい説明 PHPのarray_fill()関数の使い方の詳しい説明 Jun 27, 2023 am 08:42 AM

PHP プログラミングにおいて、配列は大量のデータを簡単に処理できる非常に重要なデータ構造です。 PHP は配列関連の関数を多数提供しており、array_fill() はその 1 つです。この記事では、array_fill() 関数の使い方と実際の応用におけるヒントを詳しく紹介します。 1. array_fill() 関数の概要 array_fill() 関数の機能は、同じ値で構成される指定された長さの配列を作成することです。具体的には、この関数の構文は次のとおりです。

Python で Array モジュールを使用する方法 Python で Array モジュールを使用する方法 May 01, 2023 am 09:13 AM

Python の配列モジュールは事前定義された配列であるため、標準のリストよりもメモリ内で使用するスペースがはるかに少なく、追加、削除、インデックス付け、スライスなどの要素レベルの操作を高速に実行することもできます。さらに、配列内のすべての要素は同じ型であるため、平均値、最大値、最小値の計算など、配列が提供する効率的な数値演算関数を使用できます。さらに、配列モジュールは、配列オブジェクトのバイナリ ファイルへの直接の書き込みと読み取りもサポートしているため、大量の数値データを処理する際の効率が向上します。したがって、大量の同種データを処理する必要がある場合は、Python の配列モジュールを使用してコードの実行効率を最適化することを検討してください。配列モジュールを使用するには、まず次のことを行う必要があります。

PHP の array_change_key_case() 関数の使用方法の概要 PHP の array_change_key_case() 関数の使用方法の概要 Jun 27, 2023 am 10:43 AM

PHP プログラミングでは、配列は頻繁に使用されるデータ型です。 array_change_key_case() 関数など、多数の配列操作関数もあります。この関数は、配列内のキー名の大文字と小文字を変換して、データ処理を容易にすることができます。この記事では、PHP での array_change_key_case() 関数の使用方法を紹介します。 1. 関数の構文とパラメータ array_change_ke

See all articles