特集
» 2008年01月28日 08時25分 公開

Review:Eclipseとの統合を果たしたZend Studio (3/4)

[Peter-J.-Manis,Open Tech Press]
SourceForge.JP Magazine

 最近のPHPプログラミングではユニットテストの機能が一般化しつつあるが、Zendもそうした機能をPHPUnitのテストケースおよびスイートの双方で追加しており、これらテストの実行と解析用のインタフェースも整備している。ユニットテストとは、想定した複数のシナリオ下でのコード試験を自動実行するためのものである。この場合ケースおよびスイートを定義しておくと、テストする内容をユーザーが個別選択するためのダイアログが表示されるようになるのだ。実際の検証作業は、必要な設定を施したテストを右クリックしてRun As -> PHPUnit Testを選択することでPHPUnitタブが表示され、テスト中に実行ないし失敗した処理の詳細が表示されるという流れで進行していく。

 今回わたしはZend Studioに用意されたDebugDemoを試してみる目的で、row_color関数を使った処理を意図的に失敗させるテストを作成してみた。それが後記のテストであり、これはrow_colorに数値3を渡して得られる戻り値が‘white’であるかを検証するものであるが、数値3で実際に返されるのは‘yellow’であるため、ここでの判定は失敗することになる。


$this->assertEquals(row_color(3),'white');

 この種の問題発生時にPHPUnitからは、処理が失敗した理由がリポートされるようになっており、実際この場合も後記のように、関数の戻り値としてPHPUnitは‘white’という文字列を想定していたのに‘yellow’が返されたという内容のメッセージが出力された。


test_Row_color: Failed asserting that <string:white> is equal to <string:yellow>.

 メニューバーにあるWindowメニューからは多数の設定オプションにアクセスできるが、オプション画面上部にあるフィルタボックスを使用すれば、すべてのオプションを個別に設定する必要はないはずである。実際、ユーザーによる設定変更は特に何もしなくてもソフトウェアは正常に動作してくれると考えていいだろう。

図6

 変数、関数、クラス、インクルードの名称を変更するリファクタリングという機能が使えることは、プロジェクトの規模の大小にかかわらず、作業時間の大幅な節約をもたらしてくれる。例えば、特定のインクルードファイルを移動させたい場合にリファクタリングが行えると、移動後のファイル位置にその参照指定を変更するといった処理が簡単に実行できるようになる。なお図6は、Zend Studioで変数名を変更する際のプレビュー画面であるが、β2リリース段階においてはOutlineおよびProject Outlineタブにて要素名を右クリックしても、関数とクラスに対するリファクタリング用コマンドは表示されない。

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ