К сожалению, я не нашел надежного решения, которое не потребовало бы немного неуклюжих обходных путей
Но есть 2 решения, которые я мог бы предложить для этого сценария
@ LexLi предложил хороший подход для решения этой проблемы. Таким образом, вы можете сделать свое веб-приложение клиентом SignalR и сделать его членом группы. Таким образом, каждый экземпляр веб-приложения также является клиентом, и затем экземпляр, который получает ответ для клиента Hub, может передать этот ответ группе экземпляров веб-приложения
Вы можете использовать темы Azure Service Bus. Так что после запуска экземпляр начнет подписываться на прослушивание темы. И затем, когда любой экземпляр получает ответ от клиента-концентратора, он помещает ответ в раздел служебной шины, а затем каждый экземпляр получает этот ответ от темы.
. Я надеялся, что лучшее решение для такой проблемы
Взгляните на один из комментариев в require_once записи в php руководстве..
http://ie.php.net/manual/en/function.require-once.php#62838
"require_once (и include_once для этого вопросы) медленный
, Кроме того, если Вы запланируете использование модульных тестов и фиктивных объектов (т.е. включая ложные классы, прежде чем реальные будут включены в класс, который Вы хотите протестировать), то это не будет работать, как требуют (), загружает файл и не класс".
Вот соглашение:
Если у Вас есть "Класс, PHPUnit_Extensions_SeleniumTestCase не мог бы быть найден в (имя файла тестового сценария)" проблема, необходимо сделать следующие две вещи:
1. Переименуйте файл тестового сценария к названию класса, который это содержит 2. Необходимо запустить phpunit от папки с тестами.
Это должно решить Вашу проблему.
Andrew
Хорошо, когда я использую встроенную команду: если lauching тестируют от PhPunit dir, у меня есть ошибка в то время как whent запуск его от тестового dir I havne't ошибка...
но у меня все еще нет доступа к серверу селена... буду, я должен запустить его прежде или нет.
Если Да странно что мы havne't указать какой-либо дескриптор к PhPUnit...
Не предполагайте, что грушевая установка произошла без проблем.
Я установил phpunit через грушу, но несмотря на него, говоря, что установка пошла прекрасная, когда я смотрел в папке, у меня были все эти файлы, запускающиеся с .tmp, например, PHPUnit/Util/.tmpErrorHandler.php так естественно, когда я запустил тест в 1-й раз, когда он дал мне ту же ошибку как выше. После проверки, что действительно файл не был там, я сделал ручную установку PHPUnit к той же папке как груша и увы, все были в порядке. Я нахожусь в Mac/леопарде.
О RC Selenim не забывают запускать его путем выполнения в терминале Java - банка/path/to/file/selenium-server.jar
Я просто переименовал файл, в котором был мой тест к "WebTest.php" (название класса, который это содержит), и тестовые прогоны, прекрасные теперь.
Я обнаружил, что следующий образец из учебника PHPUNIT работал, когда в тесте появилась одна и та же ошибка, которую я написал.
Раствор был сюрпризом. Убедитесь, что ваш класс внутри PHP ..?>
Блок, а не ..?>
блок в скрипте.
<?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));
}
}
?>