2012-08-30 1 views
1

PHPStorm 4.0.3에서 PHP 프로젝트 (Kohana 3.2 프레임 워크 사용)에 문제가 있습니다. 클래스 또는 메소드 스코프로 PHPUnit을 설정할 때, 테스트 클래스가 Unittest_Database_Testcase에서 확장되면 지정된 단위 테스트 파일에서 클래스를 감지 할 수 없습니다.PHPStorm 4.0 - 단일 클래스/메소드에서 PHPUnit을 실행할 수 없습니다.

예를 들어 테스트 클래스 선택 대화 상자에 "표시 할 항목 없음"이 표시되어 아래 테스트를 수행 할 수 없습니다. 파일이 Unittest_Testcase에서 확장하는 경우

/** 
* Class cannot be chosen. 
*/ 
class A_Test extends Unittest_Database_Testcase { 
    public function test_something() { /* ... hence this method test cannot be chosen */ } 
} 

그러나, 클래스 (그리고 이후에 방법) PHPStorm 의해 검출 나는 테스트를 실행 할 수 있었다 할 수있다.

class A_Test extends Unittest_Testcase { 
    public function test_something() {} 
} 

나는 PHPStorm이 데이터베이스 테스트를 개별적으로 실행하는 것을 아직 지원하지 않는다고 생각합니다. 이 문제를 해결할 방법이 있습니까?

참고 : 전체 테스트를 실행해도 문제가 없지만 테스트 수가 증가하고 있습니다. 새로 작성된 테스트가 제대로 작동하는지 확인해야 할 때마다 전체 테스트 스위트를 실행하는 데 매우 많은 시간이 소요됩니다. 그것을 놓친 사람들을위한

+0

'Unittest_Database_Testcase'를 Ctrl + 클릭하면 클래스 정의로 이동합니까? 만약 그렇다면 - (이 클래스의 부모 클래스 등으로) 더 갈 수 있습니까? 필자는 과거 비슷한 메시지를 보았습니다. PhpStorm이 PHPUnit 클래스 (예 : 외부 라이브러리로 프로젝트에 추가 된 PHPUnit 파일)를 알고 있는지 확인하는 것이 좋습니다. – LazyOne

+0

이제 작동합니다 - PHPUnit을 외부 라이브러리로 포함하지 않았습니다. 그러나 이제는 다른 이유로 실패합니다. Unittest_Database_Testcase와 내 단위 테스트 파일 (즉, 추상 클래스의 모든 테스트를 상속 함) 사이에있는 "Abstract_Class"라는 추상 클래스가 있습니다. 하나의 테스트를 실행할 때마다 "클래스 'Abstract_Class'를 찾을 수 없습니다"라고 표시됩니다. 그것은 어떻게 든 알지 못했습니다 ... –

+0

누가 그것을 말합니까 - PHPUnit 또는 PhpStorm? PHPUnit은 테스트를 실행하는 PHP입니다. PhpStorm은 통합 작업 만하므로 실행 중에 PHP에서 "Abstract_Class"를 사용할 수 있어야합니다. – LazyOne

답변

1

는 영업 이익은

내가 수동으로 부트 스트랩 파일에 Abstract_Class을 포함했다 ... 답을 발견하고 의견을 기록했다. PHPUnit이 테스트 파일을 가리킬 때 자동으로 포함되지 않았기 때문일 수 있습니다.