5

私はしたいと思います:

  • 私の環境に関係なく、PHPUnit でテストを実行します (PHPUnit または PEAR がインストールされているかどうか)。
  • 可能であればテスト結果を画面に表示する

これどうやってするの?ここでコードをダウンロードして含めようとしましたAutoload.phpが、まだいくつかの依存関係があります。たぶん、これを私のコードにバンドルしようとするよりも良いアプローチがあります...?

4

3 に答える 3

2

プロジェクトのソース ファイルに PHPUnit を含めるには、次のガイドに従うことをお勧めします。

Using PHPUnit From a Git CheckoutPHPUnit Contributung セクションから。

インストールする必要があるすべてのパッケージについて説明し、phpunit 実行可能ファイルのランナー/ラッパー スクリプトをビルドする方法を示します。

#!/bin/bash
php -d include_path='.:../phpunit/:../dbunit/:../php-code-coverage/:../php-file-iterator/:../php-invoker/:../php-text-template/:../php-timer:../php-token-stream:../phpunit-mock-objects/:../phpunit-selenium/:../phpunit-story/:/usr/local/lib/php' ../phpunit/phpunit.php $*

必要に応じてパスを調整するか、別のスクリプトでラップしたい場合は、プログラムでphpunitを使用することもできます。

require '/path/to/phpunit/PHPUnit/Autoload.php';
PHPUnit_TextUI_Command::main();

phpunit.xml.distこれは、ファイルがあること、またはラッパー スクリプトを呼び出すときに適切な cli パラメータを使用していることを前提としています。


git チェックアウトから作業する代わりに、pear パッケージを使用してすべての安定バージョンを解凍して、ディスクとリポジトリのスペースを節約することもできます。ラッパー スクリプトとすべてのインクルード パスの動作は同じです :)


関連する SO の質問:

PHP - PHPUnit のポータブル バージョンはありますか?

インストールなしの PHPUNIT

于 2012-10-01T11:56:03.893 に答える
1

依存関係は、使用しているアドオンに依存します。PHPUnit 自体は自己完結型である必要があります。PHP には特に一貫したパッケージ管理ソリューションがないため (そして、車輪の再発明以外の最も実行可能なオプションを排除したため)、アプリケーション コードとは別にソース ツリーにファイルを含めることが最善の策です。APPLICATION_ROOT などから、「test」という名前の兄弟ディレクトリを作成し、PHPUnit とそれに必要な依存関係でいっぱいの「lib」または同様のディレクトリを作成することは、おそらく良い計画です。テストディレクトリからメインアプリケーションソースへの重複や一方向の依存関係があってはなりません。

ヘルスチェックの自動テスト ページを探していると仮定しているので、そのテスト ディレクトリから必要なものを含む単一のページを作成できます。理想的には、静的リソースを公開する Web ディレクトリがある場合、ドキュメント ルートの外側からアプリケーション フォルダーを含めることで、アプリケーションのフロント コントローラーの読み込みを担当する PHP ファイルを作成できます。テストスイート。これにより、アプリケーション ディレクトリは、アプリケーション コード自体、テスト コードを格納するテスト ディレクトリ、コードベースのロードを担当する 2 つの小さなインクルード ファイル (任意の種類の共有定数定義など) に集中したままにすることができます。も抽出し、DRY に保ちます)。

于 2012-10-01T01:26:30.577 に答える
1

PHP 用の一貫したパッケージ管理ソリューション ( http://getComposer.org ) があります。また、通常のコンポーザ スタイルで PHPunit をインストールする手段も追加されました ( http://packagist.org/packages/phpunit/phpunit )。

ソフトウェアをインストールすると、phpunit コマンド ライン スクリプトがローカルの 'bin/' ディレクトリに配置されるので、それを呼び出すことができますが、使用する構成ファイルを設定するシェル スクリプトが必要になる可能性があります。

通常の設定は、実際のテストを実行する PHPunit 拡張クラスの階層を持つ tests/ サブディレクトリです。

于 2012-10-01T12:03:49.877 に答える