問題タブ [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.

0 投票する
3 に答える
3887 参照

unit-testing - symfony + doctrine+PHPUnitを使用したユニットテスト

私はNetBeansIDEでSymfony+Doctrine+PHPUnitを使用しています。これがユニットテストへの私の現在のアプローチです。

  • setUp()関数は、.ymlファイルからテストフィクスチャをロードします
  • tearDown()関数は、モデルからすべてのデータを削除します。これは、すべてのモデルの名前の配列をDoctrine_Query :: delete($ modelName)-> execute()のようなものにループすることによって行われます。

これはうまくいくようですが、これが正しい方法であるかどうかだけ知りたいです。基本的に、「すべて削除」するモデル/テーブルを指定することにより、各テスト関数の後にすべてのテーブルをクリアしています。

Q1:これが正しい方法かどうか疑問に思っています... Q2:これはNetbeans IDEでうまく機能しますが、「。/ symfonytest:unit」では機能しないようです。私は何かが足りないのですか、それともCLIはライムで動作しますか?

0 投票する
1 に答える
550 参照

php - 新しく作成されたインスタンスをモックしますか?

TDD を使用していない古いコードがあり、次のような関数のテストを書きたい

私はphpunitと一般的なテストにあまり慣れていないので、私の質問は次のとおりです。DB_PGをモックするにはどうすればよいですか? テストで getMock() を試しましたが、関数は「new」を使用してインスタンスを取得するため、モックオブジェクトは無視されます。これは理にかなっています

だから私は2つのオプションしか見ていません

  1. 私が知らないphpunitのいくつかの機能 - それが私がここで尋ねる理由です^^
  2. 私は古いコードを変更する必要があります - 私はそれがより良いと知っています

だから、誰かがオプション1の答えを知っていますか?

thxすべて

0 投票する
5 に答える
8443 参照

php - PHPUnit を無視させますか?

テスト実行から無視したい PHPUnit Test クラスがあります。ファイル名にTestという単語が含まれないように名前を変更することでそれができることは知っていますが、ソース管理の水域を必要以上に汚すので、そうしないほうがよいでしょう。

誰か提案がありますか?

0 投票する
5 に答える
55746 参照

php - すべてのPHPUnitテストを実行するにはどうすればよいですか?

Script.phpというスクリプトがあり、Tests / Script.phpでテストしますが、phpunit Testsを実行すると、テストファイルでテストが実行されません。phpunitですべてのテストを実行するにはどうすればよいですか?

PHPUnit 3.3.17、PHP 5.2.6-3ubuntu4.2、最新のUbuntu

出力:

そして、これが私のスクリプトとテストファイルです:

Script.php

Tests / Script.php

0 投票する
3 に答える
2353 参照

selenium - Seleniumサーバーが実行されていない場合、PHPUnitでテストをスキップする方法は?

アプリケーションのグローバル PHPUnit テスト スイートの一部として、Selenium テスト スイートを追加したいと考えています。Selenium テストのスイートをグローバルAllTests.phpファイルにフックしたところ、Selenium サーバーの実行中にすべてが正常に実行されました。

ただし、Selenium サーバーが実行されていない場合は、スクリプトで Selnium テストをスキップして、テストを実行するために他の開発者が Selenium サーバーをインストールする必要がないようにしたいと考えています。私は通常setUp、各テストケースのメソッド内で接続しようとし、これが失敗した場合はスキップされたとしてテストをマークしますが、これは次のメッセージで RuntimeException をスローするようです:

The response from the Selenium RC server is invalid: ERROR Server Exception: sessionId should not be null; has this session been started yet?

このシナリオでスキップされた Selenium テストをマークする方法はありますか?

0 投票する
3 に答える
10459 参照

php - pear から PHPUnit をインストールできない

重複の可能性:
PEAR 経由で PHPUnit をインストールする

phpunitのインストール手順はこれを実行しています:

最初のものは大丈夫ですが、2番目にエラーが発生します:

php.net(php 5.3.0)の最新のgo-pear.pharバージョンの両方を使用してpearをインストールしたところphp go-pear.php、pearのWebサイトが示すように実行も試みました。

実行pear -Vするとバージョン 1.7.2 が表示されます。実行pear upgrade PEARすると、バージョンが現在の noe である 1.9.0 よりも新しいと表示pear upgrade -f PEARされます。アップグレードを強制するために実行すると、ファイルがダウンロードされて正常にインストールされますが、まだバージョン 1.7.2 があり、 phpunitをインストールできません。

私はWindows Vista、php 5.3.0を実行しています

0 投票する
2 に答える
1879 参照

zend-framework - Zend PHPUnitコントローラーテストでサブドメインでURLをディスパッチする方法は?

サブドメイン www.username.domain.com で動作するコントローラーをテストしたい

問題は、ControllerTestCase でディスパッチすると、Zend_Controller_Dispatcher_Exception がスローされることです。


ルート.php:


ユーザーコントローラーテスト:


AbstarctControllerTestCase:

結果:

/login のような通常の URI をディスパッチするとうまくいきますが、問題はホスト名を含む URL をディスパッチすることです。

何か案は?皆さん、ありがとうございました。

0 投票する
6 に答える
42387 参照

php - PHPUnit:配列に指定された値のキーがあることを確認します

次のクラスがあるとします。

そしてこのテストケース:

$params(配列である)が渡され$Other->post()、値が「値1」の「key1」という名前のキーが含まれていることを確認するにはどうすればよいですか?

すべての配列を検証したくありません。これは単なるサンプルコードです。実際のコードでは、渡された配列にはさらに多くの値があり、そこにある1つのキーと値のペアだけを検証したいと思います。

$this->arrayHasKey('keyname')キーが存在することを確認するために使用できることがあります。

$this->contains('Value 1')配列にこの値があることを確認するために使用できる、もあります。

これら2つを。と組み合わせることもでき$this->logicalAndます。しかし、これはもちろん望ましい結果をもたらしません。

これまで、returnCallbackを使用して、$ params全体をキャプチャし、それに対してアサートを実行してきましたが、おそらく別の方法でやりたいことを実行できますか?

0 投票する
1 に答える
3479 参照

phpunit - PHPUnit データベース拡張機能 - 空のデータセットを作成するには?

空のテスト テーブルを作成したいと考えています。digitalsandwich の例を使用すると、次のようなものが必要になります。

createFlatXMLDataSet() 以外の方法を使用する必要がありますか? または???