2011-03-10 16 views
1

이 질문은 많은 질문을 받게 될 것입니다. 그러나 저는 오랫동안 PHP를 사용해 본 적이 없으며, 다시 한번 경로 행동과 씨름하고 있습니다.PHPUnit 설정 및 PHP 디렉토리 문제

필자는 Pear를 통해 PHPUnit을 설치 했으므로 PHP 디렉토리를 php.ini 파일에 추가하여 전 세계적으로 PHPUnit.php를 포함 할 수 있습니다. 그러나 PHPUnit.php는 자신의 디렉토리에 여러 파일을 포함해야합니다, 나는 내 테스트 디렉토리에 PHPUnit.php을 참조 할 때 :

는 테스트 디렉토리를 기준으로, 또는에 중 해당 파일을 포함하도록 시도
require_once 'PHPUnit.php'; 

php.ini에 지정된 배 디렉토리.

Fatal error: require_once() [function.require]: Failed opening required 'PHPUnit/TestCase.php' 
(include_path='.:/home/data/pear/php') in /[snip]/domains/test.domainname.com/html/project/tests/PHPUnit.php on line 47 

나는 PHP와 함께 하루에 다시이 문제를 다루는 기억하지만 shouldn 같은 느낌; t는 phpunit을의 경로가이 작품을 만들기 위해 파일을 포함 수정해야 ...

+1

PHPUnit 1.x (또는 적어도 <3.x)에 대해서는 'PHPUnit_TestCase'가 중요합니다. PHPUnit_Framework_TestCase를 사용해야합니다. – KingCrunch

+0

당신은 "PHPUnit.php"를 요구하지 않아야합니다. "phear install phpunit"이 아닌 'pear install phpunit/PHPUnit'(버전 3.5.x) 왜냐하면 그게 정말 오래된 버전 이니까 :) – edorian

+0

알다시피, 나는 배의 사이트에서 문서를 보았다는 것을 깨달았습니다.이 문서는 오래되어 유행에 뒤 떨어지고, 이것이 문제를 일으키는 지 궁금하지 않고, 많은 진전이 있었던 것 같습니다. –

답변

1

phpunit을 사용하는을 클래스 이름의 밑줄을 디렉토리 분리 기호로 바꾸는 경로 변환 자동 로더의 일반적인 클래스 이름.

코드에서 PHPUnit_TestCase를 참조했습니다. PHPUnit_TestCase는 PHPUnit 디렉토리에 TestCase.php 파일을 자동으로 포함하려고 시도했지만 파일/클래스는 존재하지 않습니다.

KingCrunch이 코멘트에 말했듯이, 사용하는 클래스가 PHPUnit_Framework_TestCase

당신이 당신의 phpunit을 디렉토리에 보면이며,

참조 TestCase.php를 포함하는 프레임 워크 디렉토리가 Writing Tests for PHPUnit

<?php 
class StackTest extends PHPUnit_Framework_TestCase 
{ 
+0

Jacob, 당신 말이 맞아요. 최신 버전을 설치했지만 이전 버전처럼 사용하려고했습니다. 좋은 점을 알려줘서 고맙습니다. , 간결한 run-down 현재 버전이 사용되는 방법. 감사합니다! –