この両方の経験がある人は、もしあれば、2つの大きな違いに光を当てることができるかどうか疑問に思っていましたか?
特定のケースに適したそれぞれの特定の強みはありますか?
この両方の経験がある人は、もしあれば、2つの大きな違いに光を当てることができるかどうか疑問に思っていましたか?
特定のケースに適したそれぞれの特定の強みはありますか?
この質問はかなり古いものですが、まだトラフィックと回答が得られているので、ここでもう一度私のポイントを述べますが、他の(新しい)質問ですでにそれを行いました。
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
または、Windowsの場合は、pharをダウンロードして実行するだけです。
php phpunit-.phar
または、サポートされているコンポーザーのインストール方法を使用する場合
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
あなたのcomposer.jsonに。
あなたがテストしたいすべてのものについて、PHPUnitには解決策があり、ほとんどどこでもヘルプを見つけることができます(SO、freenodeの#phpunit ircチャネル、ほとんどすべての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の寄稿者になりました。
今は PHPUnit の方が好きですが、最初は常にコマンド ラインにアクセスできるとは限らなかったので、SimpleTest を使用しました。SimpleTest は優れていますが、PHPUnit より優れているのは 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 Web UI は非常に便利ですが、扱いにくい場合もあります。私の現在のプロジェクトでは、アプリケーション (API) を Web インターフェースで動作させる (Apache を正しくセットアップする、ファイルを public_html ルートにコピーするなど) ために、以前よりも多くの作業をシステムに投入する必要がありました。 Eclipse ワークスペースから phpunit を実行するだけです。したがって、PHPUnit を選択します。また、更新を手動で追跡する必要がないため、PEAR の使用は大きなプラスでした。たまに実行するpear upgrade
だけで、PHPUnit は最新の状態に保たれます。
これは、非常にカジュアルな PHP 開発者の視点からのものです。
PHPUnit を理解するのに 2 日かかりましたが、最終的にあきらめた Eclipse でデバッグしようとしていました。
Eclipse でのデバッグを含め、Simpletest をセットアップするのに 2 時間かかりました。
将来、Simpletest の欠点を見つけることになるかもしれませんが、これまでのところ、TestClasses、モック オブジェクト、テスト コードのデバッグ、および状況のクイック スナップショット用の Web インターフェイスなど、必要なことはうまく行っています。
繰り返しますが、これは非常にカジュアルなPHPユーザーの観点からです(開発者でさえありません:-)
この質問は古いですが、私の経験を追加したいと思います。PHPUnitは現在標準のようですが、多くのグローバル変数を使用するレガシーシステムを使用している場合、最初から行き詰まる可能性があります。PHPUnitでグローバル変数を使用してテストを行う良い方法はないようです。$GLOBALSを介して変数を設定する必要があるようです。これは、グローバル変数を設定するファイルが大量にある場合は適切ではありません。問題はレガシーシステムにあると言う人もいるかもしれませんが、それはそのようなシステムでテストを実行できないという意味ではありません。SimpleTestを使用すると、そのようなことは簡単です。PHPUnitで、クラス/関数スコープ内ではなく、グローバルにファイルを含めることができれば、それほど問題にはならないと思います。
別の有望な解決策はhttp://www.enhance-php.comで、見栄えがします:)
Simple Test をしばらくチェックしていませんでした。前回は eclipse プラグインがありました。これは私にとって大きな要因ですが、長い間更新されていませんでした。Sebastian Bergmann はまだ PHPUnit に非常に積極的に取り組んでいますが、Eclipse 用の適切なプラグインがまだありません。ただし、新しい Zend Studio には含まれています。
一度にテストする関数が何千もある場合、phpunit は道のりです。Web ベースの単純なテストでは不十分です。
私はまだ小規模なテストに単純な Web を使用しています。
でもどっちもいい