0

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

$this->UnitTestCase('message .....')

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


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

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

ありがとう

4

1 に答える 1

1

私はSimpleTestの専門家ではありませんが、私が知る限り、それがUnitTestCaseクラスのコンストラクターです。PHPUnitで同等のものはPHPUnit_Framework_TestCaseです。それをサブクラス化し、テストメソッドを定義することにより、独自のテストを作成します。簡単なハウツーと詳細については、テストの作成に関するPHPUnitのドキュメントを参照してください。ただし、簡単に言うと、これは完全なPHPUnitテストです。

class MyTest extends PHPUnit_Framework_TestCase {
    public function testSomething {
        $this->assertTrue(MyClass::getSomethingTrue());
    }
}

更新:改訂された質問に答えるために、PHPUnitでメッセージを表示する主な方法はアサーションの失敗です。すべてassert*の関数の最後にオプションの$message引数があり、そのアサーションが失敗したときにカスタムメッセージを表示するために使用できます。

アサーションに失敗せずに常にメッセージを表示したい場合は、簡単なprintステートメントを試してみてください。テスト出力が散在するため、これは目的を達成するための最良の(または見栄えの良い)方法ではないかもしれませんが、確かにテキストをコンソールにダンプします。これはあなたが求めているようです。

単体テスト中に高度なデバッグを探している場合は、ある種のロギングフレームワーク(またはファイルを開いて印刷し、ファイルを再度閉じるカスタム関数)を検討することもできます。これにより、テスト出力の整合性を維持しながら、テスト中に必要な場所に追加のカスタムメッセージを受け取ることができます。

于 2010-08-24T12:55:37.653 に答える