> 백엔드 개발 > PHP 튜토리얼 > [PHP]PHPUnit入门之三

[PHP]PHPUnit入门之三

WBOY
풀어 주다: 2016-06-23 14:31:57
원래의
930명이 탐색했습니다.

Testing Exceptions

 

@expectedException声明用来测试测试代码中指定异常是否被抛出

代码

 1 php
 2 require_once   ' PHPUnit/Framework.php ' ;
 3  
 4 class  ExceptionTest  extends  PHPUnit_Framework_TestCase
 5 {
 6      /* *
 7      * @expectedException InvalidArgumentException
 8       */
 9      public   function  testException()
10     {
11     }
12 }
13 ?>


phpunit ExceptionTest
PHPUnit 3.4.2 by Sebastian Bergmann.

F

Time: 0 seconds

There was 1 failure:

1) testException(ExceptionTest)
Expected exception InvalidArgumentException

FAILURES!
Tests: 1, Assertions: 1, Failures: 1.

另外,你也可以使用setExpectedException()来设置期望抛出的异常

代码

 1 php
 2 require_once   ' PHPUnit/Framework.php ' ;
 3  
 4 class  ExceptionTest  extends  PHPUnit_Framework_TestCase
 5 {
 6      public   function  testException()
 7     {
 8          $this -> setExpectedException( ' InvalidArgumentException ' );
 9     }
10 }
11 ?>


phpunit ExceptionTest
PHPUnit 3.4.2 by Sebastian Bergmann.

F

Time: 0 seconds

There was 1 failure:

1) testException(ExceptionTest)
Expected exception InvalidArgumentException

FAILURES!
Tests: 1, Assertions: 1, Failures: 1.

Testing PHP Errors
默认设置下,PHPUnit把执行中触发的error,warning,notice都转化成一个exception.

代码

 1 php
 2 class  ExpectedErrorTest  extends  PHPUnit_Framework_TestCase
 3 {
 4      /* *
 5      * @expectedException PHPUnit_Framework_Error
 6       */
 7      public   function  testFailingInclude()
 8     {
 9          include   ' not_existing_file.php ' ;
10     }
11 }
12 ?>


phpunit ExpectedErrorTest
PHPUnit 3.4.2 by Sebastian Bergmann.

.

Time: 0 seconds

OK (1 test, 1 assertion)
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿