問題タブ [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.
unit-testing - コマンドライン統合テスト用の PHPUnit
最近、製品の Email2SMS 機能に取り組み始めました。私がプロジェクトに参加したとき、このコンポーネントは単体テストによるコード カバレッジがゼロでした。レガシーコード。
私はそれに取り組み始めて以来、テストファーストのアプローチを使用していました。しかし、コードの品質は非常に低かった。それを分割して単体テストで小さなチャンクをテストするのは非常に困難だったので、統合テストを書くことにしました。
メッセージ情報を受け取り、DB でユーザーを検索し、問題がなければ情報を保存する php スクリプトがあります。
それは悪いですか?この問題をどのように解決しますか?
zend-framework - クラス Zend_Test_PHPUnit_ControllerTestCase が見つかりませんでした
コントローラーをテストするためにphpunitを実行すると、常に次のメッセージが表示されます。Class Zend_Test_PHPUnit_Controller_TestCase could not be found ...
すべての require_once が実行され、エラーなしで実行されます。
私のファイル:
Test.php:
ブートストラップ.php:
php - PHPUnit と XDebug は連携しますか?
PHP コードの単体テストの作成に取り組んでいます。PHPUnit は、私がこれに使用しているものです。
私はいくつかのクラスがうまくいくまで...
XDebug をミックスに投入します。
その時点で、PHPUnit はクラッシュすることはありませんが、setExpectedException がトリガーされることはありません。
実際、コードがそのポイントを超えることはありません。
誰でもこれに遭遇し、解決策を知っていますか?
編集:これはPHP5.2.6、XUnitおよびXDebugの最新バージョンです。これはLinux Fedora 7上にあります
php - PHPUnitデータベースでMDB2を使用していくつかのテストを行う方法は?
PHPUnitデータベースを使用して、MDB2を使用していくつかのクラスをテストします。
エラーを返す2番目のテストに遭遇したので、すべてが順調です。
キャッチされた例外:クラスMDB2_Errorのオブジェクトを文字列に変換できませんでした
最初のテストの代わりに2番目のテストを配置すると、新しい最初のテストはOKですが、2番目のテストは同じエラーを返します。そして次のものも!
たぶん、MDB2接続は最初のテストの後に閉じられますか?
これが私のコンストラクターです:
MyDBAはシングルトンを返します。コンストラクター内で例外は発生しません...
最初の2つのテストは次のとおりです。
php - PHPUnit をカスタム フレームワークに統合する方法
PHPUnit をフレームワークに統合したいと考えています。つまり、テストを実行する前に、オートロードの設定など、最初に初期化を行う必要があるということです。
cli テスト ランナーを使用したいのですが、正しく理解できれば、PHPUnit_Framework_TestSuite のインスタンスを返す静的関数 suite() を持つクラスを作成し、このスイートにテストを追加する必要があります。http://www.phpunit.de/manual/current/en/textui.html .
これまでのところ、私は思いついた:
SimpleTest は、PHPUnit_Framework_TestCase を拡張した非常に基本的なテスト クラスです。「phpunit MyTestFW」を実行すると、常に次のようになります。
誰かが私を少し助けてくれませんか?
php - 手動テストで動作するコードカバレッジツールはありますか?
PHPには、自動化された単体テストケースを使用せずにコードカバレッジレポートを生成できるツールはありますか?
(基本的に、phpunitまたは同様のユニットテストフレームワークを使用していません。これらのフレームワークは、レポートの生成には適していますが、ユニットテストケースをphpで記述する必要があります!)。
まさに私が探しているのは、テスターによって実行された手動テストに基づいてコードカバレッジレポートを生成するツールです。
php - 手続き型コードベースを使用して PHP で単体テストを作成するにはどうすればよいですか?
私は単体テストの利点についてほぼ確信しており、PHP で書かれた既存の大規模なコードベースにこの概念を適用したいと考えています。このコードの 10% 未満はオブジェクト指向です。
いくつかの単体テスト フレームワーク (PHPUnit、SimpleTest、および phpt) を見てきました。ただし、手続き型コードをテストするこれらの例は見つかりませんでした。私の状況に最適なフレームワークは何ですか? 非 OOP コードを使用して PHP の単体テストを行う例はありますか?
phpunit - このコードは安全ですか - PHP && MySQL
上記のコードは機能しますが、安全かどうか少し心配です。
注: 私は POST メソッドを使用していないため、関数内の引数として受け取る必要があり、使用できません。
unit-testing - 共有ホスティング プランの PHPUnit?
PHPUnit はうまく機能します。私は実際に気に入っています。問題は、私のホスティング プランがクエリの実行時間に 30 秒の上限を課していることです。PHPUnit のテストにそれよりも時間がかかる場合、接続はサーバーによって閉じられ、すべてのテストが成功したかどうかを確認することはできません。
AJAX を使用して任意の長さのテスト スイートを実行し、ユニット テストをバッチ処理して、30 秒のしきい値に達しないようにする既存の自動方法はありますか? 個々のテストにかかる時間が 30 秒未満である限り、うまくいくと思います。
ありがとう
php - なぜPHPUnitはOOの方法で物事を行うことを主張するのですか?
炎上するリスクがあります...コンテキストが暗黙的であるコンテキストで、関数ではなくメソッドへの呼び出しを強制することにはどのような利点がありますか。
PHPの構文がメソッドを呼び出すのに非常に醜いことを考えると、なぜPHPUnitの作成者はその使用法を強制したのでしょうか。
フレームワークがグローバルな「currentTestCase」オブジェクトを設定し、そのオブジェクトに透過的に関連付けられた失敗したアサートがあった場合、次のように記述できます。
同等の、しかし冗長なものとは対照的に:
このコンテキストでOOを使用すると、正確に何が得られますか。
教えてください。