Как делают я решаю эту ошибку: “Класс PHPUnit_Extensions_SeleniumTestCase не мог быть найден”

К сожалению, я не нашел надежного решения, которое не потребовало бы немного неуклюжих обходных путей

Но есть 2 решения, которые я мог бы предложить для этого сценария

  1. @ LexLi предложил хороший подход для решения этой проблемы. Таким образом, вы можете сделать свое веб-приложение клиентом SignalR и сделать его членом группы. Таким образом, каждый экземпляр веб-приложения также является клиентом, и затем экземпляр, который получает ответ для клиента Hub, может передать этот ответ группе экземпляров веб-приложения

  2. Вы можете использовать темы Azure Service Bus. Так что после запуска экземпляр начнет подписываться на прослушивание темы. И затем, когда любой экземпляр получает ответ от клиента-концентратора, он помещает ответ в раздел служебной шины, а затем каждый экземпляр получает этот ответ от темы.

. Я надеялся, что лучшее решение для такой проблемы

13
задан Remy 16 September 2008 в 22:27
поделиться

6 ответов

Взгляните на один из комментариев в require_once записи в php руководстве..

http://ie.php.net/manual/en/function.require-once.php#62838

"require_once (и include_once для этого вопросы) медленный

, Кроме того, если Вы запланируете использование модульных тестов и фиктивных объектов (т.е. включая ложные классы, прежде чем реальные будут включены в класс, который Вы хотите протестировать), то это не будет работать, как требуют (), загружает файл и не класс".

1
ответ дан 1 December 2019 в 20:58
поделиться

Вот соглашение:

Если у Вас есть "Класс, PHPUnit_Extensions_SeleniumTestCase не мог бы быть найден в (имя файла тестового сценария)" проблема, необходимо сделать следующие две вещи:

1. Переименуйте файл тестового сценария к названию класса, который это содержит 2. Необходимо запустить phpunit от папки с тестами.

Это должно решить Вашу проблему.

Andrew

6
ответ дан 1 December 2019 в 20:58
поделиться

Хорошо, когда я использую встроенную команду: если lauching тестируют от PhPunit dir, у меня есть ошибка в то время как whent запуск его от тестового dir I havne't ошибка...

но у меня все еще нет доступа к серверу селена... буду, я должен запустить его прежде или нет.

Если Да странно что мы havne't указать какой-либо дескриптор к PhPUnit...

0
ответ дан 1 December 2019 в 20:58
поделиться

Не предполагайте, что грушевая установка произошла без проблем.

Я установил phpunit через грушу, но несмотря на него, говоря, что установка пошла прекрасная, когда я смотрел в папке, у меня были все эти файлы, запускающиеся с .tmp, например, PHPUnit/Util/.tmpErrorHandler.php так естественно, когда я запустил тест в 1-й раз, когда он дал мне ту же ошибку как выше. После проверки, что действительно файл не был там, я сделал ручную установку PHPUnit к той же папке как груша и увы, все были в порядке. Я нахожусь в Mac/леопарде.

О RC Selenim не забывают запускать его путем выполнения в терминале Java - банка/path/to/file/selenium-server.jar

1
ответ дан 1 December 2019 в 20:58
поделиться

Я просто переименовал файл, в котором был мой тест к "WebTest.php" (название класса, который это содержит), и тестовые прогоны, прекрасные теперь.

1
ответ дан 1 December 2019 в 20:58
поделиться

Я обнаружил, что следующий образец из учебника PHPUNIT работал, когда в тесте появилась одна и та же ошибка, которую я написал. Раствор был сюрпризом. Убедитесь, что ваш класс внутри Блок, а не блок в скрипте.

<?php
require_once 'PHPUnit/Framework.php';

class StackTest extends PHPUnit_Framework_TestCase
{
    public function testPushAndPop()
    {
        $stack = array();
        $this->assertEquals(0, count($stack));

        array_push($stack, 'foo');
        $this->assertEquals('foo', $stack[count($stack)-1]);
        $this->assertEquals(1, count($stack));

        $this->assertEquals('foo', array_pop($stack));
        $this->assertEquals(0, count($stack));
    }
}
?>
1
ответ дан 1 December 2019 в 20:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: