問題タブ [simpletest]

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 に答える
7266 参照

php - 手続き型コードベースを使用して PHP で単体テストを作成するにはどうすればよいですか?

私は単体テストの利点についてほぼ確信しており、PHP で書かれた既存の大規模なコードベースにこの概念を適用したいと考えています。このコードの 10% 未満はオブジェクト指向です。

いくつかの単体テスト フレームワーク (PHPUnit、SimpleTest、および phpt) を見てきました。ただし、手続き型コードをテストするこれらの例は見つかりませんでした。私の状況に最適なフレームワークは何ですか? 非 OOP コードを使用して PHP の単体テストを行う例はありますか?

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

php - SimpleTest の模擬問題

いくつかのテスト ケースを書いていますが、モック オブジェクトを使用しているテスト ケースがあります。2 つのクラス メソッドが別のクラス メソッドから呼び出されているかどうかを確認する必要があります。これが私がやったことです:

まず、モックを生成しました。

次に、テスト内で次のように呼び出しました。

私の実装コードは次のようになります。

そして、loadUrl および parse() メソッドは間違いなく存在します。テストで 2 つのエラーが発生しました。どちらも「[loadUrl] の予想される呼び出し回数は [1] で [0] になりました」というメッセージが表示されます。何が起こっているのかわかりません - メソッドはその関数から呼び出されています!

ありがとう、

ジェイミー

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

cakephp - CakePHP で SimpleTest を使用して単体テストを行うために、フィクスチャで外部キーの関係を処理するにはどうすればよいですか?

CakePHP で (SimpleTest 経由で) 単体テスト用のフィクスチャ データを作成しようとしていますが、外部キーの関係を処理する方法がわかりません。フィクスチャ コードのサンプルを次に示します。

したがって、Specialty にはイベントへの外部キーがあると推測できます (私の Event モデルは次のようになります)。

私が得ているエラーはこれです:

Unexpected PHP error [<span style = "color:Red;text-align:left"><b>SQL Error:</b> 1054: Unknown column 'event_id' in 'field list'</span>] severity [E_USER_WARNING] in [/dev/trunk/cake/libs/model/datasources/dbo_source.php line 525] /dev/trunk/app/tests/cases/models/event.test.php -> EventTestCase -> endCase

私のCakePHPフィクスチャデータの理解は最小限であることを認めます(ドキュメントは少し不足しており、Web上の例はすべてやや些細な例を再ハッシュしています)、私ができる/すべきことについてのアイデアはありますか?

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

php - PHPUnitにSimpleTestの「部分的なモック」に相当するものはありますか?

一連のテストをSimpleTestからPHPUnitに移行しようとしていますが、SimpleTestの部分的なモックに相当するものがあるかどうか疑問に思いました。

この機能が利用可能であることを示唆するドキュメントには何も見つからないようですが、サブクラスを使用できることに気づきました。これは良い考えですか、それとも悪い考えですか?

0 投票する
4 に答える
7807 参照

php - 単体テストでのPHP関数のモック

SimpleTestを使用していくつかのPHPコードを単体テストしていますが、問題が発生しました。データベースクラスのテストでは、PHP関数の期待値を設定できるようにしたいと思いmysqlます。関数のラッパークラスのテストでは、mailPHP関数をモックしたいと思いmailます。これらはほんの一例です。

重要なのは、Mailクラスが電子メールを送信するかどうかを(常に)テストしたくないので、mail関数を呼び出す方法をテストしたいということです。これらの関数が返すものを制御できるようにしたいと思います。データベースやフィクスチャなどを必要とせずに、Databaseクラスをテストできるようにしたいと考えています。

私はRubyコードのテストの経験があり、Test :: UnitとRSpecを使用すると、コードを分離してテストするのが非常に簡単になります。私はPHPのテストに不慣れであり、テストに合格するために必要以上にテストしているように感じます。

SimpleTestやPhpUnit、またはこれを可能または簡単にする他のテストフレームワークに方法はありますか?

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

php - CakePHP コントローラの実世界でのテスト?

SimpleTest 1.0.1 を使用して、CakePHP (リリースされたばかりの 1.2.4) で新しいアプリケーションを作成しています。私はクックブックの関連セクションを読み、ベーカリーで検索し、コントローラーのテストに関するマークストーリーの投稿を読みました(難しい方法モックを使用)。

残念ながら、これは重要なコントローラーの実際のテストについては言及していません。多くのアプリがログインの背後にあるサイトの領域を配置していますが、次の単純なシナリオをテストする方法がわかりません。

  • 保護されたページのリダイレクトへのゲスト アクセス?
  • 有効な資格情報は、期待されるセッション変数を設定しますか?
  • 無効な認証情報によりログイン ページが再表示され、エラー メッセージが表示されますか?

以下のコントローラーとテストは、思ったように機能しません。両方のアサーションが失敗し、PHP エラーも発生します。

FAILED [NULL] は [.../app/tests/cases/controllers/users_controller.test.php 行 79] で null であってはなりません .../app/tests/cases/controllers/users_controller.test.php -> UsersControllerTest -> テストログイン

[.../app/tests/cases/controllers/users_controller.test.php 行 80] .../app/tests/cases/controllers/ で [NULL] が [整数: 1] と一致しないため、失敗しました。 users_controller.test.php -> UsersControllerTest -> testLogin

エラー予期しない PHP エラー [未定義のインデックス: アクション] 重大度 [E_NOTICE] in [.../cake/libs/controller/components/auth.php 行 266] .../app/tests/cases/controllers/users_controller.test. php -> UsersControllerTest -> testLogin

これがコントローラーです(ベイクされたものとMark Storyの「ハードウェイ」テスト方法):

テストは次のとおりです。

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

cakephp - cakephp simpletest webtester 遅延/スリープ機能

simpletest を使用して、Web サイトの統合テストを行っています。(ページがリダイレクトされる間) 一定時間待機するように内部ブラウ​​ザーに指示する必要があります。その後、assertText を実行します。

これを行う簡単な方法はありますか?

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

drupal - Drupal の SimpleTest がカスタム テーブルのコピーを作成しない

Drupal 6.13 で SimpleTest モジュール バージョン 6.x-2.8 を使用しています。カスタム モジュールを作成し、そのためにいくつかのテストを作成しました。ただし、SimpleTest はカスタム モジュールに関連付けられたテーブルのコピーを作成していないようです。テーブルに何かを挿入したり、SimpleTest でクエリを実行したりするたびに例外メッセージが表示されるためです。

すべての挿入クエリは、SimpleTest の結果ページで次のような結果になります: Table 'db_name.simpletest692319new_table' does not exist query: INSERT INTO simpletest692319new_table(...)

モジュールの .install ファイルに hook_schema() が定義されています。テーブルを認識してそのコピーを作成するために SimpleTest が他に必要なものがあるかどうかは誰にもわかりませんか?

ありがとう。

0 投票する
4 に答える
2598 参照

php - PHP と JavaScript を使用して、Firefox ブラウザから IE ウィンドウを開く方法はありますか?

PHP単体テストフレームワークとしてsimpletestを使用しています。

すべてのテストケースを単一の all_tests.php ファイルに入れました

ただし、開発者が all_tests.php を実行するために firefox を使用する傾向があるため、特に ie7 などのブラウザー固有の失敗ケースを見逃す傾向があります。

誰かが firefox で all_tests.php をブラウズしたときに、自動的に ie ウィンドウをトリガーして同じページを開く方法はありますか?

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

php - PHPのSimpleTestを使用した単体テストでは、相対パスからファイルディレクトリエラーが発生し続けますか?

Zend Framework MVCを使用しており、SimpleTestライブラリで単体テストを行っています。Zend Cacheを使用し、キャッシュディレクトリが相対パスであるために失敗し続ける特定のモデルがあります。このb4のような問題が発生したかどうか疑問に思っていました。ありがとう。