2014-03-28 2 views
2

PhpStorm을 사용하여 phpunit 테스트를 실행 중입니다.PHPSTORM을 사용하여 테스트를 실행할 때 PHPUNIT 오류가 발생했습니다.

이 오류를 수신 : 나는 그것이 작동해야 올바른 버전을 갖고있는 것 같다하지만

/usr/local/php5/bin/php /private/var/folders/m8/k61mmmmj7g732j3pd0_91s0c0000gn/T/ide-phpunit.php --configuration /Users/psteinheuser/unity/test/phpunit.xml DatabaseDumperTest /Users/psteinheuser/unity/test/DatabaseDumperTest.inc Testing started at 11:36 AM ...

Fatal error: Class IDE_PHPUnit_Framework_TestListener contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (PHPUnit_Framework_TestListener::addRiskyTest) in /private/var/folders/m8/k61mmmmj7g732j3pd0_91s0c0000gn/T/ide-phpunit.php on line 504

Call Stack: 0.0013 340096 1. {main}() /private/var/folders/m8/k61mmmmj7g732j3pd0_91s0c0000gn/T/ide-phpunit.php:0 PHP Fatal error: Class IDE_PHPUnit_Framework_TestListener contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (PHPUnit_Framework_TestListener::addRiskyTest) in /private/var/folders/m8/k61mmmmj7g732j3pd0_91s0c0000gn/T/ide-phpunit.php on line 504

가,이 고정 말했다 이전 게시물을 발견했다.

PHPStorm 7.1.3 phpunit을 3.7.28 PHP 5.4.24

OS는 맥 10.9.2입니다

제거하고 다시 시작, PHPStorm, 업그레이드 된 PHP, 다시 설치 phpunit을을 재설치 아파치, 재부팅, 내 머리를 긁적 등.

터미널에서 수동으로 phpunit 테스트를 실행하면 정상적으로 작동합니다.

PHpStorm 내의 환경 설정을 보면 phpunit을 올바르게 가리키는 것으로 보입니다. 권한 또는 경로 문제라고 생각하지만 다음으로보아야 할 위치를 모르겠습니다.

입력 또는 방향을 이해하십시오.

+1

내가 여기 해결 방법을 문서화했습니다 [인 IntelliJ의 IDEA가 실행되지 않습니다 phpunit을 4.0 테스트 (http://stackoverflow.com/a/22799620/315988) – Darien

답변

2

PHPStorm에서이 문제를 해결할 수 있었던 유일한 방법은 수동으로이 오류가있는 jar 파일의 내용을 업데이트하는 것이 었습니다.

우리는 Mac OSX 10.9를 사용하므로이 지침이 유용 할 것입니다. 당신의 jar 파일의 내용을 잡고 일단 추출

mkdir ~/jarfiles cd ~/jarfiles jar xf /Applications/PhpStorm.app/plugins/php/lib/php.jar

를 추출하는 임시 디렉토리를 만들고, 지금

cp /Applications/PhpStorm.app/plugins/php/lib/php.jar /Applications/PhpStorm.app/plugins/php/lib/php.jar.orig

:

는 기존의 jar 파일의 복사본을 만들어 시작 빠진 메소드 스텁을 추가하기 위해 phpunit.php 파일을 편집해야합니다.

vi scripts/phpunit.php

내 파일의 310 행은 'IDE_PHPUnit_Framework_TestListener'클래스입니다.

공공 기능 addRiskyTest (PHPUnit_Framework_Test $ 테스트, 예외 $ 전자, $ 시간) {}

지금 바로 재 포장하여 항아리와 PhpStorm로 교체 :

jar cf0 php.jar ./* mv php.jar /Applications/PhpStorm.app/plugins/php/lib/php.jar 다음과 같은 방법 스텁을 삽입

저를 위해 고쳤습니다. 희망이 그것도 당신을 위해 그것을 해결합니다. 행운을 빕니다!

+0

감사합니다 이것에 대한 너무 많은. phpunit 4.0.7 및 osx의 Phpstorm을 위해 완벽하게 작업했습니다. – Squadrons

관련 문제