問題タブ [phpunit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 実用的なクラスでのphpunitの警告
統合サーバーでphpUnitを使用してすべてのテストを実行し、コマンドラインからphpunitコマンドを起動すると、次のように表示されます。
apacheを介して、同じテストファイルを実行します。
私のTUクラスには、が付いたすべてのテストクラスが含まれています。これらのクラスには、すべてのテストを実行する関数と、テストスイートを返す$suite->addTestFile()
2つの静的関数があります。ただし、TUクラスはphpunitコマンドのパラメーターとして指定されたプライマリファイルには含まれていません。これは、ファイルをスキャンしてすべてのテストクラスを一覧表示する汎用クラスです。main()
suite()
PHPUnit_Framework_TestCaseを拡張して追加するクラスでも同じ問題が発生します。specific assert()
これは経由ではなく、$suite->addTestFile()
によってのみ含まれrequire()
ます。
どうすればこれを修正できますか?
php - phpunit を Hudson CI と統合するにはどうすればよいですか?
phpundercontrol から Hudson への切り替えを検討しています (いくつかの非常に優れた機能があるようです!) が、phpunit ログを表示する方法がわかりません。
Hudson で ant を使用して phpunit を正常に実行しています。 --log-xml は、そのビルドの適切な builds/ フォルダーに phpunit.xml を配置しています。しかし、それをビルドに表示する方法がわからないので、実行されたテストと失敗したテストがある場合はそれを確認できます。
それを理解したら、次はカバレッジ、メトリック、および API を取得します :)
たとえば、「このプロジェクトでは、ビルドごとに「API」へのリンクを表示し、builds/$BUILDNUM/api/index.html へのリンクを表示する」など、HTML で生成するものは何でも簡単なようです。
php - Zend Framework バージョン 0.7 での PHPUnit の使用
Zend Framework プレビュー バージョン 0.7 を使用して開発されたアプリケーションがあります。ここで、コントローラー/ロジック ファイルの単体テストを書きたいと思います。
ロジックは主にデータベースを扱い、データベースには独自のラッパーを使用しています。
Zend Framework バージョン 0.7 の上でアプリケーションの単体テストを試みた人はいますか?
php - Mac OS X 10.5 で PEAR を使用せずに PHPUnit をインストールするにはどうすればよいですか?
PEAR のインストールに問題がありますが、本当は PHPUnit だけをインストールしたいのです。誰もこれを行った経験がありますか?
php - 静的メソッドで使用されるモック メソッド
メールを送信するメソッドが実際にメールを送信するのを止めようとしていますが、モックオブジェクト(またはいくつかのバリアント)が道だと思います。状況は次のとおりです。
_sendMail() をモックして独自のコードを挿入できる PHPUnit には、 resetPassword() で他のロジックを適切にテストできるのでしょうか?
私のテストは次のようになります。
助けてくれてありがとう。
php - Zend Framework:Zend_Testの使用を開始する
Zend_Testの設定に成功した人はいますか?あなたの方法/アプローチは何でしたか、そしてあなたはどのようにあなたのテスト/テストスイートを実行しますか?
私はすでにPHPUnitをインストールして動作しています。今、私はいくつかの簡単なコントローラーテストを書こうとしています。Zend Frameworkのドキュメントでは、自動読み込みがセットアップされていることを前提としていますが、これはまだ行っていません。適切なファイルを自動ロードするためにどのような方法を使用しますか?私は通常のブートストラップファイルでそうしますが、たくさんのインクルードと設定パスでテストを乱雑にしたくありません。抽象コントローラーのテストケースクラスが進むべき道でしょうか?
ドキュメントで使用されているようなブートストラッププラグインはどうですか...テストをブートストラップする方法ですか、それとも別の方法で実行しますか?通常のブートストラップファイルをできるだけ多く再利用したいと思います。テストと通常の使用のためにブートストラップをどのように乾かす必要がありますか?
これまでの私のテストは次のとおりです。
私は何をすべきか?
php - ORM を使用するアプリで単体テストを行うにはどうすればよいですか?
単体テストに関するさまざまな質問に目を通しましたが、この質問に具体的に答えるものは見つかりません。
次のような関数を含む PHP クラスがいくつかあります。
Propel を ORM として使用しています。「モック」と「スタブ」の作成に関するさまざまな単体テストのトピックを読みましたが、上記のような関数をテストする方法を具体的に説明するものは見つかりませんでした。
私の考えは次のようになります。上記の関数をテストする必要があるので、それを呼び出したいと思います。しかし、私がそれを呼び出すと、Propel を ORM として使用し、単体テストの原則に従って、各関数を個別に分離する必要があります。
私はそれを行う方法がわかりません。ここで何が欠けていますか?
php - コードが通知をスローした場合、PHPUnit を失敗させることはできますか?
デフォルトではそうではないようで、スイッチもありません。
これは PHPUnit 2.3.5 と PHP 5.2.0-8 です。
performance - 単体テストのタグ付け
私は、単体テストのカバレッジがしっかりしている PHP プロジェクトに取り組んでいます。
前回、単体テストのコマンドライン テスト ランナーの--filterコマンドを使用して非常にトリッキーな操作を行っていることに気付きました。
公式ドキュメントからのこのコマンドの説明は次のとおりです。
- フィルター
名前が指定されたパターンに一致するテストのみを実行します。パターンは、単一のテストの名前か、複数のテスト名に一致する正規表現のいずれかです。
テスト ベース全体から 1 つのテスト スイートまたはテスト ケースのみを実行することが非常に役立つ場合があるため、よく使用します。
これが良い習慣なのかどうか疑問に思っていますか?
1 つのコンポーネントのみを変更し、100% の自信を持って 1 つのコンポーネントのみを変更し、他のコンポーネントのユニットに失敗しないことが確実にわかっている場合は、継続的インテグレーション マシンでテスト スイート全体を実行することをお勧めします。テスト。あなたはそれについてどう思いますか?
少し前に、すべての単体テストのスイート全体を実行するのに必要な時間はあまり気にするべきではないと考えていましたが、非常に複雑なビジネス ロジックと単体テストがある場合、これにはかなりの時間がかかる場合があります。
「実際の」単体テストは DB と対話してはならず、モック/スタブ オブジェクトを使用するべきではないことを理解しています。それに同意します。しかし、場合によっては、テストに DB フィクスチャを使用する方がはるかに簡単 (安価) です。
この問題を解決する方法を教えてください。