4

この .PHPT テストは次のように完了します: (PHPT ドキュメントから)

ファイル:strtr.phpt

--TEST--
strtr() function - basic test for strstr()
--FILE--
<?php
/* Do not change this test it is a README.TESTING example. */
$trans = array("hello"=>"hi", "hi"=>"hello", "a"=>"A", "world"=>"planet");
var_dump(strtr("# hi all, I said hello world! #", $trans));
?>
--EXPECT--
string(32) "# hello All, I sAid hi planet! #"

$ pear run-tests --cgi strtr.phpt

出力:

Running 1 tests
PASS strtr() function - basic test for strstr()[uploadTest.phpt]
TOTAL TIME: 00:00
1 PASSED TESTS
0 SKIPPED TESTS

ただし、、、 、 などのセクションsample006.phptを使用する他のテストなど、別のサンプル テストを実行しようとすると、テストは常に失敗します。--GET----POST----POST_RAW--

私の全体像の目標は、 PHP を使用したファイルのアップロードのテストで説明されているように、PHPT を使用して PHPUnit でファイルのアップロードをテストすることです。その--POST_RAW--記事で使用されている例は私にも失敗しましたが、他の例は成功しました。

ローカルの設定に問題があるように見えますが、これを追跡する場所がわかりません。残念ながら、Googleにはあまりありません。

これらのテストの失敗と他の通常のテストの失敗の間に気づいたことの 1 つ--POST--は、通常のテストの失敗で*.outは、スクリプトの失敗した出力が常にファイルに入力されることです。明示的にテキストを出力している場合でも、失敗したテストにはファイルに--POST--何もありません。*.out

PHPT を使用したこれらのサンプル テスト--POST_RAW--は、他の誰かのために機能しますか?

これが私のシステム仕様です:(php 5.2、os x 10.6)

$ pear -V
PEAR Version: 1.9.1
PHP Version: 5.2.13
Zend Engine Version: 2.2.0
Running on: Darwin mbp.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386
4

2 に答える 2

2

--cgi オプションに php-cgi 実行可能ファイルを指定する必要があります。このようなもの

pear run-tests --cgi=/usr/bin/php-cgi strtr.phpt または pear run-tests --cgi=php-cgi strtr.phpt

私はこれを理解するのにほぼ一日を費やしました.pear help run-testsのドキュメントを読んだとき、それは今では理にかなっていますが、実行可能ファイルが必要であるという事実を完全に見逃していました.

于 2012-03-03T01:15:53.230 に答える
2

これらのテストを機能させるには、PHP CGI バージョンが必要です。

于 2011-03-31T13:33:13.440 に答える