2016-07-06 14 views
1

PHPUnitを最新のyersterdayに更新し、すべての呼び出しをcreateMock()からgetMock()に変更しました。HHVMでPHPUnitテストでgetMock()が定義されていません

私たちのユニットテストは、PHP 5.6とPHP 7.0を渡すが、HHVMで失敗し、我々は次のエラーを取得する:

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の完全なビルドを見ることができます。

これは、親クラスの内部で宣言された保護されたメソッド(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

の方法は、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をdevの依存関係としてインストールすることです。

enter image description here

+1

こんにちはJakub Zalas、これが解決策でした。ありがとうございました。 https://travis-ci.org/gomoob/php-pushwoosh/builds/142956447 –

関連する問題