2017-02-17 1 views
1

클래스를 찾을 수 없습니다 'PHPUnit_Framework_TestCase'나는 이것은PHP 단위 -이 질문은 백 번을 요청 받았다 알고 있지만 내가 phpunit을 새로운 오전

내 경우 도움이되는 이전의 답변을 사용하는 방법을 모른다 내 폴더 구조

/src/MyDate.php 
    /src/Autoload.php 

    /tests/MyDateTest.php 

    /vendor/phpunit/phpunit 

자동로드 파일은

<?php 

    spl_autoload_register(
    function($class) { 
     static $classes = null; 
     if ($classes === null) { 
     $classes = array(
      'mydate' => '/MyDate.php' 
     ); 
     } 
     $cn = strtolower($class); 
     if (isset($classes[$cn])) { 
     require __DIR__ . $classes[$cn]; 
     } 
    } 
); 

이있다 그리고 MyDateTest.php이

있다 내가

phpunit --bootstrap= src/autoload.php tests/MyDateTest.php 

을 실행하면

<?php 

class MyDateTest extends PHPUnit_Framework_TestCase 
{ 
| 
| 
test be here 

은 내가 비슷한 답변에서 모든 솔루션을 시도이 오류

Fatal error: Class 'PHPUnit_Framework_TestCase' not found in C:\wamp64\www\datechallange\tests\MyDateTest.php on line 3 

를 얻을. 클래스와 함께 파일을 요구했지만 다른 클래스가 누락되었습니다. phpunit 라이브러리를 포함하도록 autoload 파일을 수정하려고했지만 잘못된 것을하고 있거나 그렇지 않습니다. --bootstrap을 사용할 필요가 없기 때문에 xml 파일을 수정하려고했지만 동일한 오류가 있습니다.

필자의 핵심은 autoload.php 파일을 수정하는 것이지만 어떻게해야할지 모르겠다.

감사합니다.

답변

3

두 가지 문제 중 하나 또는 둘 모두를 갖고있는 것으로 보입니다. Composer를 사용하지

  • , 이것은 또한 자동으로 composer.json 파일을 통해 포함 된 모든 파일에 끌어 공급 업체/autoload.php 파일을 제공 할 것입니다.
  • 최신 버전의 PHPunit (v> 6.0)은 더 이상 긴 클래스 이름을 사용하지 않습니다. 그래도 여전히 지원되는 v5 +는 않습니다. phpunit을 5.7을 설치하는

권장되는 메커니즘입니다 : 또는

composer require --dev phpunit/phpunit:^5.7 

, 그것은 다른 PHP 스크립트만큼 실행 할 수있는 단일 phpunit.phar로 다운로드 할 수 있습니다.