PHP SimpleTest-例外処理

exception php testing
PHP SimpleTest-例外処理

フォーラムアプリケーションで使用されるいくつかの簡単なクラスがあります。 SimpleTestを使用していくつかのテストを実行しようとしていますが、例外に関する問題があります。

カスタム例外を生成するコードのセクションがあります。 私のテストでこの例外をキャッチし、それが私が期待するものであると断言する方法はありますか?

これは私のクラス内のメソッドです:

public function save()
  {
      $this->errors = $this->validate();
        try
        {
            if (empty($this->errors))
            {
                Database::commitOrRollback($this->prepareInsert());
            } else {
                throw new EntityException($this->errors);
            }
        } catch (Exception $e) {
        echo 'Caught exception: ',  $e->getMessage(), "\n";
        }
  }

何かアドバイスは大歓迎です。 ありがとう。

  3  0


ベストアンサー

function testSaveMethodThrows() {
  $foo = new Foo();
  try {
    $foo->save();
    $this->fail("Expected exception");
  } catch (EntityException $e) {
    $this->pass("Caught exception");
  }
}

または、http://www.simpletest.org/api/SimpleTest/UnitTester/UnitTestCase.html#expectException [expectException]を使用します。

5


タイトルとURLをコピーしました