SimpleTestとPHPunit


Answers

私はPHPUnitを好んでいましたが、私が始めたとき、私はいつもコマンドラインにアクセスできなかったので、私はSimpleTestを使いました。 SimpleTestは素晴らしいですが、PHPUnitを上回る唯一のものは、私の意見では、Webランナーです。

PHPUnitが好きな理由は、 phing (SimpleTestのように)、 phpUnderControlXincなどの他のPHP開発ツールと統合されているからです 。 バージョン3.0以降では、モックをサポートしており 、積極的に開発されており、ドキュメントは優れています。

本当にあなた自身のためにこの質問に答える唯一の方法は、あなたのスタイルに合ったものを一度に試してみることです。

編集:現在、PhingはSimpleTestと統合されています。

Question

私はこれらの両方の経験を持っている誰かが、もしあれば、両者の間の重要な違いを明らかにすることができるかどうか疑問に思っていましたか?

特定の事例に適したそれぞれの具体的な強みはありますか?







さて、私は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は最新の状態に保たれます。




この質問は古いですが、私は私の経験を追加したいと思います:PHPUnitは今の標準のようですが、たくさんのグローバル変数を使用するレガシーシステムを使って作業すると、手間がかからないことがあります。 PHPUnitでグローバル変数をテストする良い方法はないようですが、グローバル変数をどこにでも設定しているファイルがたくさんある場合は、$ GLOBALS経由で変数を設定する必要があるようです。 問題はレガシーシステムにあると言う人もいますが、そういうシステムではテストできないわけではありません。 SimpleTestでは、このようなことは簡単です。 私は、PHPUnitを使用して、クラス/関数のスコープ内ではなく、グローバルにファイルを含めることができれば、あまり問題にならないと思います。

もう一つの有望な解決策はhttp://www.enhance-php.comです




一度にテストする何千もの機能があるとき、phpunitは行く方法です、簡単なテストはWebベースのように不足しています。

私はまだ小規模なテストのためにシンプルなWebを使用しています。

しかし、どちらも良いです