回答:
この質問はかなり古くなっていますが、トラフィックと回答が得られているので、ここでもう一度ポイントを述べましたが、他の(新しい)質問ですでにそれを行いました。
私はよ本当に SimpleTestのがいることに困惑まだ PHPUnitでの代替と考えられています。多分私は誤解されているかもしれませんが、私が見た限りでは:
web interface to phpunit tests
ます。SimpleTestを支持する議論はまだ見ていません。PHPUnitはpear経由で利用できるため、インストールはさらに簡単ではありません。
pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit
「最初のテスト」はほとんど同じに見えます。
とおりPHPUnit 3.7
、それはだインストールしても、簡単にだけ使用して、それをPHAR Archive
wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit-3.7.6.phar
または、pharをダウンロードして実行するWindowsの場合:
php phpunit-.phar
またはサポートされている作曲家のインストール方法を使用する場合
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
あなたのcomposer.jsonに。
PHPUnitをテストしたいものすべてに解決策があり、どこにいてもヘルプを見つけることができます(SO、#phpunit ircチャネルがfreenodeにあり、ほとんどすべてのphp開発者;))
私が何か間違ったことを言ったか、何かを忘れてしまった場合は私を修正してください:)
ビデオ:http : //conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergmann/
スライド:http : //www.slideshare.net/sebastian_bergmann/the-php-testers-toolbox-osi-days-2011
それは、Atoumのように自分自身を呼び出すものについて言及しています:「PHP用のシンプルでモダンで直感的なユニットテストフレームワーク!」
最初にこの回答を書いたのは2011年1月で、PHPテストプロジェクトとは何の関係もありませんでした。それ以来、私はPHPUnitの寄稿者になりました。
include
、SimpleTest .PHPファイルを使用するよりもはるかに難しい場合があることです(他の人が説明しているように)。打ちにくい、独自のテスト環境用のPHPUnitの音を構築するが、PHPベースのオープンソースアプリにテストシステムを統合する場合は、プロのプログラマのための「開発者」のアプリのためには、最高の状態でもあり、「職業プログラマ」(私が呼んでいるもの)、その後SimpleTestのシンプルさは、とにかく私にとって魅力的です。FWIW。
今はPHPUnitを好みますが、コマンドラインにアクセスできるとは限らないため、最初はSimpleTestを使いました。SimpleTestは素晴らしいですが、私の意見では、PHPTestを本当に超えているのはWebランナーだけです。
PHPUnitが好きな理由は、Phing(SimpleTest と同様)、phpUnderControl、Xincなどの他のPHP開発者ツールと統合できるためです。バージョン3.0の時点では、モックのサポートがあり、活発に開発されており、ドキュメントは優れています。
実際にこの質問に自分で答える唯一の方法は、両方をしばらく試してみて、どちらが自分のスタイルにより適しているかを確認することです。
編集:PhingはSimpleTestにも統合されました。
しかし、SimpleTestのインストール方法は簡単に理解できました。
(私が覚えている限り、PHPUnitの説明は、「PEARを使用してインストールし、他の方法での説明は行いません」という説明に従っています)を参照してください。
以下のためのSimpleTestの、ちょうどそれをダウンロードします。コードからそれを指します。
Simpletestが勝ちました。
Baphledには、SimpleTestとPHPUnit3に関する素晴らしい記事があります。
受け入れられた回答で言及されている点の半分は、単に真実ではありません。
欠点:
SimpleTestはPHPUnitよりもセットアップが簡単であることがわかりました。抽出するだけでよいのです。この利点は、複数のマシンで作業している場合です。テストフレームワーク全体をソースコードと同じ方法で保存できるため、同じフレームワークコードを使用していることがわかります。特に、何らかの方法で変更した場合。
つまり、SimpleTestの強みは、非常に軽量でポータブルであることです。
SimpleTestには、非常にシンプルなHTML GUIも同梱されており、必要に応じて拡張するのは非常に簡単です。私の知る限り、PHPUnitにはHTML GUIは含まれていませんが、Coolなどのダウンロード可能なGUIがあります。
まあ私はphpUnit WebベースのUIテストケースランナーを作成し、sourceforgeで利用できるようにしました。Ajaxを使用しており、sourceforgeでショットを確認したい場合は、非常に優れたインターフェースも備えています。プロジェクト名はphpunitwebui、ウェブサイトはhttp://phpunitwebui.sourceforge.net/です。
先に述べたように、どちらもユーザーが記述したテストを実行して結果を報告するため、ほとんどの場合は設定の選択です。
SimpletestウェブUIは非常に便利ですが、面倒になることもあります。私の現在のプロジェクトでは、アプリケーション(API)をWebインターフェースで動作させる(Apacheを正しく設定する、ファイルをpublic_htmlルートにコピーするなど)ために、システムにさらに多くの作業を行わなければなりませんでした。 Eclipseワークスペースから単純にphpunitを実行します。したがって、PHPUnitを選択します。また、更新を手動で追跡する必要がないため、PEARの使用は大きなプラスでした。たまに実行するpear upgrade
だけで、PHPUnitは最新の状態に保たれます。
これは非常にカジュアルなPHP開発者の観点からです。
PHPUnitを把握するのに2日かかりました。ほとんどが私が最終的にあきらめたEclipseでデバッグしようとしていました。
Eclipseでのデバッグを含むSimpletestのセットアップに2時間かかりました。
多分私は将来的にSimpletestの不足を見つけるでしょうが、これまでのところ、私が必要とするもの(TestClasses、Mockオブジェクト、テストコードデバッグ、状況のクイックスナップショット用のWebインターフェイス)はうまく機能しています。
繰り返しますが、これは非常にカジュアルなPHPユーザーの視点からです(開発者でさえありません:-)。
この質問は古いですが、私の経験を付け加えたいと思います。PHPUnitは今では標準になっているようですが、多数のグローバル変数を使用するレガシーシステムで作業している場合、最初から行き詰まることがあります。PHPUnitでグローバル変数を使用してテストを行う良い方法はないようです。$ GLOBALSを介して変数を設定する必要があるようですが、どこにでもグローバル変数を設定する大量のファイルがある場合は問題ありません。問題はレガシーシステムにあると言う人もいますが、それはそのようなシステムでテストを実行できないという意味ではありません。SimpleTestでは、そのようなことは簡単です。PHPUnitがクラス/関数スコープ内ではなくグローバルにファイルを含めることを許可する場合、それはあまり問題にはなりません。
別の有望な解決策はhttp://www.enhance-php.comで、見栄えが良いです:)
<phpunit backupGlobals="false">
XMLで使用しただけで、テストでグローバルに問題が発生したことはありません...
global $xxx
そのすべての組み合わせを、しようとする前に--no-globals-backup
、突然すべて見ます期待どおりに動作しています。:D
一度にテストする関数が何千もある場合、phpunitが適しています。単純なテストでは、Webベースでは不十分です。
私はまだ小規模なテストに単純なウェブを使用しています。
しかし、どちらも良いです