Перейти к содержимому

Фотография

Подключение PHPUnit_Framework_TestListener


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 Blockhead

Blockhead

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Саонов Антон

Отправлено 09 марта 2011 - 07:24

Разбираюсь с подключением Implement PHPUnit_Framework_TestListener.
создал файл test.php в нем написал:
<?php
require_once 'PHPUnit/Framework.php';
 
include 'ArrayTest.php';
require_once 'SimpleTestListener.php';
 
$suite = new PHPUnit_Framework_TestSuite('ArrayTest');
 
$result = new PHPUnit_Framework_TestResult;
$result->addListener(new SimpleTestListener);
 
$suite->run($result);
?>

В файл ArrayTest.php записал тесты типа:
<?php
	require_once 'PHPUnit/Framework.php';
	require_once 'Testing/Selenium.php';
	 
	class GoogleTest extends PHPUnit_Framework_TestCase
	{
	    private $selenium;
	    private $test;
	 
	    public function setUp()
	    {
	        $this->selenium = new Testing_Selenium("*chrome", "http://www.google.ru");
	        $this->selenium->start();
	    }
	 
	    public function tearDown()
	    {
	        $this->selenium->stop();
	    }
	 
	    public function testGoogle()
	    {
	        $this->selenium->open("/");
	        $this->selenium->type("q", "hello world");
	        $this->selenium->click("btnG");
	        $this->selenium->waitForPageToLoad(10000);
	        $this->assertRegExp("/Поиск в Google/", $this->selenium->getTitle());
	    }
	}
?>
В cmd пишу: "phpunit test.php"
В ответ phpunit выдает тчо то типа:
Class GoogleTest could not be found in test3.php.

В чем косяк? Если класс теста прописать сразу в test.php то ругается на сессию
  • 0

#2 Blockhead

Blockhead

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Саонов Антон

Отправлено 09 марта 2011 - 10:19

Я вообще правильно подключаю?
Вроде можно еще подключить свой TestListener через конфиг phpunit
Ответьте пожалуйста кто в теме хоть немоного
  • 0

#3 Blockhead

Blockhead

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Саонов Антон

Отправлено 09 марта 2011 - 12:08

Никто не знает что ли? ответьте ктонить хотя бы((
  • 0

#4 frei_by

frei_by

    Постоянный участник

  • Members
  • PipPipPip
  • 177 сообщений
  • ФИО:Дмитрий

Отправлено 09 марта 2011 - 13:17

В cmd пишу: "phpunit test.php"
vs
Class GoogleTest could not be found in test3.php.
  • 0

#5 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 09 марта 2011 - 14:29

Не могу ничего сказать про причины появления указанной ошибки, потому что ни разу не использовал описанный способ формирования сьюта и подключения листенеров.
Откуда этот пример? Такой способ даже в документации не описан нигде.
Может быть он просто устарел? Об этом косвенно свидетельствует использование устаревшего механизма работы с Selenium.
Документация рекомендует для формирования сьютов использовать конфигурационные файлы. Там же подключаются листенеры.
В описанном примере конфигурационный файл будет выглядеть примерно так:
<phpunit>
  <testsuites>
    <testsuite name="Test">
      <file>ArrayTest.php</file>
    </testsuite>
  </testsuites>
  <listeners>
    <listener class="SimpleTestListener" file="SimpleTestListener.php" />
  </listeners>
</phpunit>

  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#6 Blockhead

Blockhead

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Саонов Антон

Отправлено 09 марта 2011 - 14:51

Да, возможно устарел, т.к. информации очень мало по этой теме а то что есть года 2005-2008
Спасибо за XML.
Пытаю прописать настройки путем команды в CMD:
phpunit -c conf.xml
в ответ получаю страницу хэлпа и все. Настройки не поменялись.
пытался найти phpunit.xml вроде как дефолтные натсройки. в папке php/PEAR/PHPUnit такого файла нет.
  • 0

#7 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 09 марта 2011 - 15:27

Да, возможно устарел, т.к. информации очень мало по этой теме а то что есть года 2005-2008

Официальная документация вполне актуальная: http://www.phpunit.d...t/en/index.html

Если надо делать сьюты без изысков (просто запустить всё, что похоже на тест) -- в phpunit как параметр передаётся директория целиком, он там сам всё, что сможет, то и запустит.
Если надо делать сьюты с хитрыми настройками, типа листенеров и прочего такого -- тогда делаем конфигурационный файл и запускаем как phpunit -c myconfig.xml
Описание формата конфигурационного файла есть также в официальной документации: http://www.phpunit.d...figuration.html

Если phpunit не распознаёт опцию -c, может быть он сам тоже очень древний? Какая версия используется?
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#8 Blockhead

Blockhead

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Саонов Антон

Отправлено 10 марта 2011 - 06:36

Все, разобрался, дело было неправильном XML файле. Скопировал то что выше и все заработало. Огромное спасибо barancev, плюсанул бы в карму да нет ее на форуме))
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных