Аргумент 2, передаваемый в PHPUnit_Framework_ExpectationFailedException :: __ construct (), должен быть экземпляром PHPUnit_Framework_ComparisonFailure - PullRequest
0 голосов
/ 30 ноября 2011

Я получаю эту ошибку при запуске phpunit с селеном.

Когда я проверяю класс PHPUnit_Framework_ExpectationFailedException, я нашел следующую строку:

public function __construct($message, PHPUnit_Framework_ComparisonFailure $comparisonFailure = NULL)

Действительно, второй параметр имеетбыть объектом, а не строкой, но если я проверю класс SeleniumTestCase, я вижу:

    if ($e instanceof PHPUnit_Framework_ExpectationFailedException) {
        if (is_object($e->getComparisonFailure())) {
            $message = $e->getComparisonFailure()->toString();
        } else {
            $message = $e->getMessage();
        }

        $buffer .= "\n" . $message;

        throw new PHPUnit_Framework_ExpectationFailedException($buffer, $message);

$message представляется строкой, а не объектом.

Можете ли вы помочь мне?

PS: Я использую версию phpunit (3.6.4) и последнюю версию selenium (1.1.1)

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

В PHPUnit 3.6 PHPUnit_Framework_ExpectationFailedException был изменен путем удаления второго необязательного пользовательского сообщения.Похоже, что phpunit-selenium еще не был обновлен с этим изменением.Тем временем вы можете перейти на PHPUnit 3.5.x или исправить его и отправить запрос на извлечение.

0 голосов
/ 01 декабря 2011

Ошибка была исправлена ​​в основной ветке и будет выпущена в выпуске после 1.1.1.https://github.com/sebastianbergmann/phpunit-selenium/issues/78

...