Проблемы с SimpleTest

maxru

МИФИст
Проблемы с SimpleTest

Скачал SimpleTest 1.0.1 beta2.
PHP стоит 5.2.3

Запускаю простейший тест для примера:
PHP:
<?php
define('SIMPLE_TEST','simpletest/');
require_once(SIMPLE_TEST.'unit_tester.php');
require_once(SIMPLE_TEST.'reporter.php');

class ConfigurationTest extends UnitTestCase {
     function ConfigurationTest() {
        $this->UnitTestCase();
    }
}
 
$test = new ConfigurationTest();
$test->run(new HtmlReporter()); //1
?>//2
Не выдает НИЧЕГО. То есть в принципе ничего. Ни на веб-сервере, ни через встроенный в среду Zend интерпретатор (пробовал и 4 и 5 PHP).
При отладке выяснилось, что переменная класса _reporter на строчке 1 ==null, а на строчке 2 её уже нет в списке переменных обьекта $test.
(Ну и выдает еще кучу STRICT по поводу присвоения значения, возвращаемого new по ссылке). Xdebug тоже молчит.

Может кто-нибудь сталкивался?

-~{}~ 27.07.07 19:11:

Проблема решена.
Все дело в том, что если следовать вот этой статье, то работать ничего и не будет, поскольку выполняются ТОЛЬКО ТЕ методы, название которых начинается с test.
А то, что написано в качестве примера не будет выводить ни зеленую, ни красную линию в любом случае, ведь у нас нет ни одного теста.
Достаточно переименовать ConfigurationTest() в testConfigurationTest(), как мы получаем ту самую пресловутую "зеленую линию".
 

Anarki

Новичок
Тогда и класс придется переименовать, с начальным test в имени, чтобы конструктор в тесты входил
 

maxru

МИФИст
itprog, вот как не дочитал, если после уже приведенного мной участка кода идет скриншот с зеленой линией. И как это понимать? Вот цитата:
Для запуска автоматизированных тестов нам потребуется фреймоворк для модульного тестирования SimpleTest, а также вот такой простейший скрипт:

[код скрипта]

Мы создали пустой тест, который будет запускаться каждый раз при запуске данного скрипта. После выполнения его в CLI режиме, вы должны увидеть нечто подобное:
ConfigurationTest
OK
Test cases run: 1/1, Passes: 0, Failures: 0, Exceptions: 0

Или, если бы мы вместо TextReporter использовали HtmlReporter и запускали наш скрипт через веб-сервер, то результат выглядел бы следующим образом:

[скриншот с зеленой полосой]

Это и есть пресловутая «зеленая полоса».
 

Anarki

Новичок
Скорее всего классы вида *TestCase это обертка для тестов. Поэтому особого смысла тестировать там конструкторы нет, тесты строятся не для этого класса, а для других - тестируемых, объекты которых создаются в методах класса *TestCase имеющих префикс в имени test.
 

maxru

МИФИст
Я имел в виду, что для новичков (вроде меня) подобным образом сформулированные примеры ставят в тупик в виду своей неработоспособности. (ну, представьте, что у вас echo "Hello World" не заработало ;) )
 

syfisher

TDD infected!!
maxru Что-то ты там неправильно делаешь. Я поврорил пример и получил:

ConfigurationTest
OK
Test cases run: 1/1, Passes: 0, Failures: 0, Exceptions: 0

Так что не надо "ля-ля" ;)
 

maxru

МИФИст
Хм. А какой версией SimpleTest пользовались?
Файл с исходником примера можно?
И версию PHP.
И не стоит ли у Вас XDebug? (у меня стоит, может из-за него)

Заранее спасибо.
 

prapor

Новичок
Дорогие однофорумцы!
Столкнулся с проблемой использования cookies в тестировании.
До использования механизма мой код теста устанавливал проект, затем под админом устанавливал расширение, и после выполнял тестирующую функцию.
После использования cookies у меня началась проблема с авторизацией на сайте (проект). После выполнения функции установки проекта, код должен заходить на сайт, в качестве админа и устанавливать расширение.
Авторизация на сайт и установка расширения сделана отдельными функциями. При выполнении авторизации, сайт выводит, что успешно авторизован, но при выполнении второй функции (она идет сразу следом) я уже становлюсь гостем..
Может я чего то недопонимаю в механизме... Можете пояснить в чем может быть проблема?
Работаю с SimpleTestом =))
 
Сверху