0

この質問で説明した ratzipとまったく同じエラーが発生したとき、PhpUnitとZFを使用したユニットテストに関するJonのスクリーンキャストをフォローしていました。

彼がコメントしたように、ここで提案されているようにテストを作成した後でも同じ問題が発生しました。何らかの理由で、テストスイート(MyApp.phpなど)という名前のファイルを検索するスクリプトがありました。

周りを見回しましたが、このファイルを作成する場所とその内容を見つけることができませんでした。

しかし、ある瞬間に、特定のphpunit xmlテストスイートを実行する方法についてのこの質問を読んだ後、テストスイートセクションにファイルを明示的に挿入しようと決心しました。

私のphpunit.xmlは次のようになりました。

<phpunit bootstrap="./application/bootstrap.php" colors="true">
<testsuites>
    <testsuite name="MyApp">
        <file>./application/(path_to_model_inside_module)/ModelTests.php</file>
        <directory>./</directory>       
    </testsuite>
</testsuites>

<filter>

    <whitelist>
        <directory suffix=".php">../application/</directory>
        <exclude>
            <directory suffix=".phtml">../application/</directory>
        </exclude>
    </whitelist>

</filter>

そして、少しがっかりしているように見えても、そのエラーはもう発生しておらず、テストは現在機能しています。

しかし、以前は何が問題だったのか、そしてなぜこのファイルの明示がそれを「修正」したのか理解できないので、私はそれについて不快に感じています。

xmlディレクトリ定義がテストフレームワークをガイドして既存のテストを見つけることができなかった理由がわかりません。

4

1 に答える 1

1

PHPの致命的なエラー:キャッチされない例外「PHPUnit_Framework_Exception」とメッセージ「「$TEST_SUITE_NAME.php」も「$TEST_SUITE_NAME.php」も開くことができませんでした。」の ...

これはPHPUnitsの非常に不可解な言い方です

彼は相棒!ここにある小さな問題:実行するテストをいくつか見つけようとしましたが、見つからなかったため、テストスイートのような名前のファイルをロードしようとしましたが、それも存在しません。テストを実行できません。ここで手伝ってくれませんか。:(

要するにそれは言っています:

xml内のものをスキャンした後、テストは見つかりませんでした。

なぜあなたの場合にそれが起こるのですか?

PHPUnitはTest.phpで終わるファイルを探しますが、ファイルはTestS.phpで終わります。余分な「S」は、ディレクトリをスキャンするときにPHPUnitがファイルを取得しないことを意味します。これが、ファイルタグの追加が役立つ理由でもあります。

ModelTest.phpという名前に変更すると、ファイルタグを削除できます:)

または、ファイル名を保持したい場合は、次を使用して命名スキーマについてPHPUnitに通知します。

  <directory suffix="Tests.php">./</directory>
于 2012-03-14T00:33:19.957 に答える