問題タブ [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 投票する
1 に答える
824 参照

php - 最も単純なPHPスクリプト可能ブラウザ...フォーム名に[]が含まれるフォームをテスト送信する方法(基本的に配列形式)?

私はsimpletest、phpスクリプト可能ブラウザーを使用しており、配列形式のフォームをテスト送信しようとしているので、次のようになります。

他の入力名は「session」で始まるので、それぞれのフルネームを指定する必要がありますが、PHPスクリプトでこのようにすると機能しないようです。

誰かがこれを適切に行う方法を知っているかどうか疑問に思っています、または代わりに入力のIDを見るように設定できますか?これは常に一意であるため、私が知る限り、なぜ彼らが名前を選んだのかさえわかりませんこれに使用するフィールドとしてIDではなく...

アドバイスをいただければ幸いです。

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

php - simpleTestで「未定義のインデックス」E_NOTICEエラーをキャッチする方法は?

私がテストしているメソッドが PHP のE_NOTICE"undefined index : foo" という結果になった場合に失敗する simpleTest を使用したテストを書きたいと思います。

私は試してみましたが、成功しませんでしたexpectError()expectException()simpleTest Web ページは、simpleTest がコンパイル時の PHP エラーをキャッチできないことを示していますE_NOTICEが、実行時エラーのようです。

そのようなエラーをキャッチして、その場合にテストを失敗させる方法はありますか?

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

php - ZendRedirectorアクションヘルパーでsetredirectUrlメソッドを使用する

SimpleTestでZend_Controller_Actionのいくつかの拡張機能を単体テストしています。Redirectorアクションヘルパーのsetメソッドを使用してリダイレクトURLを設定し、次にRedirectorのredirectAndExit()メソッドを使用してプロセスの後半で実際にリダイレクトできるようにしたいと思います。このプロセスは、ドキュメントを読んだり、アクションコントローラー、リダイレクター、および応答クラスのコードを確認したりすると、期待どおりに機能していないようです。

これが私が書いたUnitTestCaseメソッドです:

App_Zend_Controller_Actionクラスは、抽象クラスZend_Controller_Actionの具体的な拡張にすぎません。ここで行っているのは、コントローラーをインスタンス化し、リダイレクトURLを設定することだけです。SimpleTestレポーターは、予想どおり、最初にヘッダーを送信しています。しかし、このテストメソッドは「ヘッダー送信」例外を生成し、その理由がわかりません。この状況でrun()またはdispatch()メソッドが呼び出されていることを認識していません。

ヘッダーの2番目のセットを送信しているのは何ですか?

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

php - chdir() と chroot() 以外に PHP Windows のディレクトリを変更できるものは何ですか? (Windows での最も単純なインクルード ファイルのバグ)

(これが不適切なタイトルである場合は申し訳ありません。私は実際に2つのことを達成しようとしています-PHPで現在のディレクトリがどのように変更されるかを調べ、WAMPで実行されているSimpletestのバグを修正します。)

EasyPHP (WAMP バリエーション) の Windows 7 ローカル マシンで SimpleTest (simpletest.org) を実行しています。

テストを実行すると、getcwd() に従って、ディレクトリがローカル スクリプト ディレクトリから C:\Program Files (x86)\EasyPHP\apache に戻ります。

getcwd() の出力を調べるために、いくつかの短いスクリプトを作成しました。期待どおり、現在のスクリプト パスが返されます: C:\Users\Burton\Desktop\Sites\dbmover. スクリプト:

サーバーパス/getcwd.php:<? echo getcwd(); require_once('tests/getcwd.php) ?>

サーバーパス/tests/getcwd.php:<? echo getcwd(); ?>

どちらも現在のパスを返します: C:\Users\Burton\Desktop\Sites\dbmover

Simpletest ソースを検索して、chdir() と chroot() の使用を確認しました - 唯一の方法です。Simpletest は chdir() を使用しません。

他に何がパスを変更している可能性がありますか??

この相対パスの問題は、Windows で使用される Simpletest では明らかに非常に一般的です。 スタックオーバーフローのこのポスターには、このポスターが他の場所にあるように、それがあります。

この問題を正常に扱う人いますが、私はバグだと思います。

私は dirname( __FILE__) を使用して自分で回避してきましたが、正しく動作するように修正したいと思います。

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

php - CodeIgniter を使用した SimpleTest -- ファイルを識別できません -- 変数が死にますか?

maroonbytesが提供するコードを使用して、 CodeIgniter で SimpleTest を使用しようとしています。LAMP と NetBeans 6.9 を使用しています。

test.php ページがブラウザに読み込まれます。スタブ テストが配置されており、ドロップダウンの選択肢に表示されます。実行しようとすると、2 つの PHP エラーが発生します。

メッセージ: include_once(/var/www/sparts3/main/tests/basic_test_v.php): ストリームを開くことができませんでした: そのようなファイルまたはディレクトリはありません

メッセージ: include_once(): 含めるために '/var/www/sparts3/main/tests/basic_test_v.php' を開けませんでした (include_path='.:/usr/share/php:/usr/share/pear')

パスが間違っています - basic_test_v.phpはサブフォルダー/tests/viewsにあります。

デバッガーはtest.phpでこれを指します:

何らかの理由で、NetBeans はこの時点で $file の値を公開しません。これは空っぽということですか?

Code 404 Page Not Found を通過したため、既にコード行をジミーしました。デバッガーの GET が原因でバリデーターが失敗したようです。だから私は無知な方法で基準を追加しました(私はそれが処理された例外か何かであるべきだと確信しています):

どうすればこれを解決できますか? ところで、これは私の他の投稿を解決しようとしています。これを更新します。これを個別の質問にするのが最善のようです。


更新 1: Web 開発者アドイン (Firefox) を使用して、POST エントリを試しています。これらはコードで誤って処理されていると思います。デバッグ中に NetBeans がいくつかの文字列変数を表示することをためらっているように見えます。これはイライラします。

更新 2: NetBeans が変数の表示を停止するのと同じ時点で、有効なコード処理が停止するように思えます。私はtest.phpをステップ実行しています。関数add_test($file, &$test)の途中です。この関数は if ステートメントで始まります。それはうまく終わり、変数を見ることができます。次に、新しい if ステートメント:

その行にいるとすぐに、2 つのことが起こります。

  1. SuperGlobals を除いて、NetBeans の変数表示が空白になる
  2. コードは $implementationが空の変数であるかのように動作します

これらの行のすぐ上にステートメントを追加しました。

これは何も変わりません。NetBeans/Xdebug を使用しているかどうかに関係なく、ブラウザーの出力は同じです。

そのため、PHP 処理の不具合のように見え始めています。それらは存在しますか?デバッグ機能のない CI には興味がないので、アップロードしてホスト サービスから試してみるかもしれません。


更新 3: WAMP PC ですべてを試しました。同じブラウザーの結果 (さらに、PHP 4 と 5 に関係する「非推奨」エラーがいくつかあります)。その PC でデバッグできると思いますが (Xdebug が機能している場合)、ほとんど意味がないようです。

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

php - PHP でファイルアップロードのテストを作成するにはどうすればよいですか?

PHP テストを作成するために simpleTest を使用しています。私はファイルアップロードプラグインを書いていますが、それをどのようにテストしているのか疑問に思っていました.

ファイルが適切なフォルダーに正しくアップロードされていること、必要に応じてエラーが正しく返されていることなどを確認したいと思います。

($_FILES 変数を使用して) ファイルのアップロードをエミュレートするにはどうすればよいですか? 注意すべき問題はありますか?

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

simpletest - simpletest unittestクラスで単一のテストメソッドを実行するには?

これは私のユニットテストクラスです

このスクリプトを実行すると、すべてのメソッド、つまり、testAc1、testAc4、testAc7 などが実行されます。単一のメソッドだけを実行する方法はありますか?

ありがとう、シカール

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

php - SimpleTestからPHPUnitに変換$this->UnitTestCase('message .....');

PHPUnitのどのアクション/メソッドがsimpleTestと同じですか?

編集:私の間違いでごめんなさい


私が求めているのは、単純なテストには直接存在しない、それは私たちの拡張クラスだけだと思います。

しかし、このメソッドはテストの開始時にメッセージを表示します-PHPUnitでどのように実行されますか?

ありがとう

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

cakephp - Hudson から SimpleTest を実行するにはどうすればよいですか?

私は CakePHP でいくつかの作業を行っており、Hudson を使用したいと考えています。あらゆる種類のプラグインを実行できますが、SimpleTest には何も表示されません。Cake 2.0 が出て PHPUnit に移行するまで、Hudson で SimpleTest を実行する方法を見つけたいと思います。

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

php - 抽象クラスを使用するプラグインインターフェイスをテストするにはどうすればよいですか?

PHP 5.3とSimpleTestを使用していますが、より一般的な回答を歓迎します。各プラグインは抽象クラスを拡張するクラスになります...このインターフェイスが正しく機能することをテストするにはどうすればよいですか?複数のプラグインを作成してテストする必要がありますか?それとももっと満足のいく方法がありますか?

例として、お金を表す何かを書くことを想像してみてください。ユーザーはこれをさまざまな通貨クラスで拡張できます。

抽象クラスMoney
{
privatestatic $ symbol;
プライベート静的$num_decimals;

public function __construct($ amount){...}
public function __toString(){...}
}

その場合、プラグインは次のようになります。

クラスGBPoundはMoneyを拡張します
{ privatestatic
$ symbol="£";
private static $ num_decimals = 2;
}

おそらく、UnitTestクラスとmoneyクラスを拡張して、多重継承をエミュレートすることはできますが、それは面倒になる可能性があります。

単体テストはインターフェイスのテストに関するものであるため、非常に困難ですが、クラス自体はプラグインインターフェイスです。