@expectedExceptionCode

@expectedExceptionCode 标注与 @expectedException 联合使用,可以对抛出异常的代码作出断言,这样可以缩小具体异常的范围。

  1. class MyTest extends PHPUnit_Framework_TestCase
  2. {
  3. /**
  4. * @expectedException MyException
  5. * @expectedExceptionCode 20
  6. */
  7. public function testExceptionHasErrorcode20()
  8. {
  9. throw new MyException('Some Message', 20);
  10. }
  11. }

为了方便测试并减少冗余,可以用"@expectedExceptionCode ClassName::CONST"这样的语法将指定类常量作为 @expectedExceptionCode

  1. class MyTest extends PHPUnit_Framework_TestCase
  2. {
  3. /**
  4. * @expectedException MyException
  5. * @expectedExceptionCode MyClass::ERRORCODE
  6. */
  7. public function testExceptionHasErrorcode20()
  8. {
  9. throw new MyException('Some Message', 20);
  10. }
  11. }
  12. class MyClass
  13. {
  14. const ERRORCODE = 20;
  15. }