2016-07-06 2 views
1

PHPUnit을 최신 버전으로 업데이트하고 모든 호출을 createMock()에서 getMock()으로 변경했습니다.HHVM을 사용한 PHPUnit 테스트에서 getMock()이 정의되지 않았습니다.

Fatal error: Call to undefined method Gomoob\Pushwoosh\Client\CURLClientTest::createMock() in /home/travis/build/gomoob/php-pushwoosh/src/test/php/Gomoob/Pushwoosh/Client/CURLClientTest.php on line 33 

당신은 Travis에 전체 빌드를 볼 수 있습니다

우리의 단위 테스트 우리는 다음과 같은 오류를 얻을 HHVM와 PHP 5.6와 PHP 7.0 통과하지만 실패합니다.

부모 클래스 (createMock() 메서드 here 참조) 내부에 선언 된 보호 된 메서드에 대한 간단한 call이기 때문에 매우 이상합니다.

왜 이것이 실패하고 있는지 아십니까? HHVM의 버그 일 수 있습니까?

+0

내 테스트 클래스는 일반적으로'\ PHPUnit_Framework_TestCase' 당신은 시도 할 수 연장? – Matteo

+0

예, 물론이 클래스에서 같은 문제가 없습니다. 새로운 테스트 케이스는 https://github.com/gomoob/php-pushwoosh/blob/develop/src/test/php/Gomoob/Pushwoosh/Client/CURLClientTest.php#L19이며 여기에서 Travis 작업은 실패했습니다. https : // travis-ci.org/gomoob/php-pushwoosh/jobs/142799864 –

답변

1

createMock()introduced in PHPUnit 5.4.0이었다. travis에서 이전 버전을 사용합니다 - 5.1.3. https://travis-ci.org/gomoob/php-pushwoosh/jobs/142799864#L910

다른 PHP 버전 use PHPUnit 5.4.6에 대한 빌드를 참조하십시오.

그것은 아마도 당신이 트래비스에보고해야 할 것입니다. 다른 옵션은 phpunit을 composer를 통해 dev 종속물로 설치하는 것입니다.

enter image description here

+1

안녕하세요 Jakub Zalas, 해결책이었습니다. 덕분에 많은 도움을 받았습니다. https://travis-ci.org/gomoob/php-pushwoosh/builds/142956447 –

관련 문제