128

この両方の経験がある人は、もしあれば、2つの大きな違いに光を当てることができるかどうか疑問に思っていましたか?

特定のケースに適したそれぞれの特定の強みはありますか?

4

12 に答える 12

90

この質問はかなり古いものですが、まだトラフィックと回答が得られているので、ここでもう一度私のポイントを述べますが、他の(新しい)質問ですでにそれを行いました。

SimpleTestがまだphpunitの代替と見なされていることに本当に困惑しています。たぶん私は誤解されているだけですが、私が見た限りでは:

  • PHPUnitが標準です。ほとんどのフレームワークはそれを使用します(Zend Framework(1&2)、Cake、Agaviのように、Symfonyでさえphpunit用のSymfony 2に独自のフレームワークをドロップしています)。
  • PHPUnitはすべてのPHPIDE(Eclipse、Netbeans、Zend Stuide、PHPStorm)に統合されており、うまく機能します。
  • Simpletestには、PHP 5.1(別名古い)用のEclipse拡張機能があり、他には何もありません。
  • PHPUnitは、コードカバレッジとテストレポート用のすべての標準ログファイルを出力するため、すべての継続的インテグレーションサーバーで正常に動作します。
  • Simpletestはそうではありません。これは最初は大きな問題ではありませんが、「テストだけ」をやめてソフトウェアの開発を開始すると、大きな時間を費やすことになります(そう、その発言は挑発的です:)あまり真剣に受け止めないでください)。
  • PHPUnitはアクティブに維持され、安定しており、すべてのコードベース、すべてのシナリオ、およびテストを作成するすべての方法でうまく機能します。
  • (主観的)PHPUnitは、Simpletestよりもはるかに優れたコードカバレッジレポートを提供します
  • PHPUnitを使用すると、IDE内でこれらのレポートを取得することもできます(Netbeans、Eclipse、...)
  • また、の提案がいくつかあり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開発者;))

私が何か間違ったことを言ったり、何かを忘れたりした場合は、私を訂正してください:)

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の寄稿者になりました。

于 2012-01-03T17:12:25.063 に答える
35

今は PHPUnit の方が好きですが、最初は常にコマンド ラインにアクセスできるとは限らなかったので、SimpleTest を使用しました。SimpleTest は優れていますが、PHPUnit より優れているのは Web ランナーだけだと思います。

私が PHPUnit を気に入っている理由は、 phing (SimpleTest と同様)、phpUnderControl、およびXincなどの他の PHP 開発者ツールと統合できるからです。バージョン 3.0 の時点で、モックのサポートがあり、活発に開発されており、ドキュメントも優れています。

この質問に自分で答える唯一の方法は、しばらく両方を試してみて、どちらが自分のスタイルに合っているかを確認することです.

編集: Phing は SimpleTest とも統合されるようになりました。

于 2008-08-29T15:40:41.550 に答える
18
  • PHPUnit をダウンロードしてインストールする方法がわかりませんでした。
  • しかし、SimpleTest のインストール方法は簡単に理解できました。

    (私が覚えている限り、PHPUnitの指示は「PEARを介してインストールし、他の方法でそれを行う方法については何も指示しません」という行に沿って何かを言いました)参照:

  • http://www.phpunit.de/manual/current/en/installation.html

SimpleTestの場合は、ダウンロードしてコードからポイントするだけです。

だからSimpletestが勝った。

于 2009-11-18T03:34:05.290 に答える
15

受け入れられた回答で言及されているポイントの半分は、単に真実ではありません。

SimpleTest

  • より簡単なセットアップ (フォルダーに展開し、インクルードして実行)
  • フォルダーをバージョン管理にチェックインするだけです(最近はphpunitでそれを試してみてください:))
  • 依存関係が少なく、多くの拡張機能 (webtester、formtester、auth)
  • 拡張が容易な優れたコード カバレッジ レポーター (ドット、関数名、色)
  • コード カバレッジの概要 (最終的に PHPUnit 4.x に組み込まれました)
  • グループと単一ファイルの実行を備えたまともな Web ランナーと ajax Web ランナー
  • さらに優れた差分ツール (空白や改行の問題なし)
  • SimpleTests を phpUnit で実行するためのアダプタ/ラッパー、およびその逆
  • 互換性 PHP5.4+

欠点:

  • 業界標準ではない (PHPUnit)
  • 積極的に維持されていない
于 2014-03-29T18:32:12.793 に答える
13

Baphled には、 SimpleTest と PHPUnit3の比較に関する素晴らしい記事があります。

于 2009-05-02T13:41:21.720 に答える
10

SimpleTest は、PHPUnit よりも簡単にセットアップできることがわかりました。抽出するだけで準備完了です。これの利点は、複数のマシンで作業している場合です。これは、テスト フレームワーク全体をソース コードと同じ方法で格納できるため、同じフレームワーク コードを使用していることがわかるためです。特に何らかの方法で変更する場合。

したがって、SimpleTest の強みは、非常に軽量で持ち運びができることです。

SimpleTest には非常にシンプルな HTML GUI も同梱されており、必要に応じて非常に簡単に拡張できます。私の知る限り、PHPUnit には HTML GUI は含まれていませんが、Coolなどのダウンロード可能な GUI があります。

于 2008-08-29T10:34:51.643 に答える
8

さて、phpUnit の Web ベースの UI テスト ケース ランナーを作成し、sourceforge で利用できるようにしました。ajax を使用し、非常にクールなインターフェイスも備えています。試してみたい場合は、sourceforge で確認してください。プロジェクト名は phpunitwebui で、ウェブサイトはhttp://phpunitwebui.sourceforge.net/です。

于 2009-06-16T23:03:34.533 に答える
4

指摘されているように、どちらも作成したテストを実行し、結果を報告するため、ほとんどが好みの選択です。

Simpletest Web UI は非常に便利ですが、扱いにくい場合もあります。私の現在のプロジェクトでは、アプリケーション (API) を Web インターフェースで動作させる (Apache を正しくセットアップする、ファイルを public_html ルートにコピーするなど) ために、以前よりも多くの作業をシステムに投入する必要がありました。 Eclipse ワークスペースから phpunit を実行するだけです。したがって、PHPUnit を選択します。また、更新を手動で追跡する必要がないため、PEAR の使用は大きなプラスでした。たまに実行するpear upgradeだけで、PHPUnit は最新の状態に保たれます。

于 2010-12-26T17:38:56.170 に答える
2

これは、非常にカジュアルな PHP 開発者の視点からのものです。

PHPUnit を理解するのに 2 日かかりましたが、最終的にあきらめた Eclipse でデバッグしようとしていました。

Eclipse でのデバッグを含め、Simpletest をセットアップするのに 2 時間かかりました。

将来、Simpletest の欠点を見つけることになるかもしれませんが、これまでのところ、TestClasses、モック オブジェクト、テスト コードのデバッグ、および状況のクイック スナップショット用の Web インターフェイスなど、必要なことはうまく行っています。

繰り返しますが、これは非常にカジュアルなPHPユーザーの観点からです(開発者でさえありません:-)

于 2016-08-31T12:27:42.980 に答える
1

この質問は古いですが、私の経験を追加したいと思います。PHPUnitは現在標準のようですが、多くのグローバル変数を使用するレガシーシステムを使用している場合、最初から行き詰まる可能性があります。PHPUnitでグローバル変数を使用してテストを行う良い方法はないようです。$GLOBALSを介して変数を設定する必要があるようです。これは、グローバル変数を設定するファイルが大量にある場合は適切ではありません。問題はレガシーシステムにあると言う人もいるかもしれませんが、それはそのようなシステムでテストを実行できないという意味ではありません。SimpleTestを使用すると、そのようなことは簡単です。PHPUnitで、クラス/関数スコープ内ではなく、グローバルにファイルを含めることができれば、それほど問題にはならないと思います。

別の有望な解決策はhttp://www.enhance-php.comで、見栄えがします:)

于 2012-10-15T16:59:38.567 に答える
1

Simple Test をしばらくチェックしていませんでした。前回は eclipse プラグインがありました。これは私にとって大きな要因ですが、長い間更新されていませんでした。Sebastian Bergmann はまだ PHPUnit に非常に積極的に取り組んでいますが、Eclipse 用の適切なプラグインがまだありません。ただし、新しい Zend Studio には含まれています。

于 2008-08-29T10:38:51.040 に答える
-2

一度にテストする関数が何千もある場合、phpunit は道のりです。Web ベースの単純なテストでは不十分です。

私はまだ小規模なテストに単純な Web を使用しています。

でもどっちもいい

于 2015-10-16T14:19:42.953 に答える