Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > phpunit


Автор: jbruder 18.5.2008, 16:59
привет всем. Подскажите плиз кто работал с phpunit как запустить правильно тест. Пишу как в примерах из инета нашел, если тест не прошел вылетает куча ексепшенов и  это  так должно быть. Но шефу же так не покажешь. Должно быть какойто графический вывод, там наверняка такое есть, я не могу найти пример. У меня версия PHPUnit2-2.3.6. Если через PEAR устанавливаю там версия 1.3 я с ней не умею работать. Спасибо заранее за ответ

Автор: Fortop 18.5.2008, 17:04
Подожди, какие Exception? даже если тест не прошел их быть не должно.
Но должно быть сообщение failed.

Автор: jbruder 18.5.2008, 17:46
да, а как правильно запустить? вот смотри простой пример

Код

<?php
require_once 'PHPUnit2/Framework/TestCase.php';
 
class ArrayTest extends PHPUnit2_Framework_TestCase {
    public function testNewArrayIsEmpty() {
        // Create the Array fixture.
        $fixture = array();
 
        // Assert that the size of the Array fixture is 0.
        $this->assertEquals(0, sizeof($fixture));
    }
 
    public function testArrayContainsAnElement() {
        // Create the Array fixture.
        $fixture = array();
 
        // Add an element to the Array fixture.
        $fixture[] = 'Element';
 
        // Assert that the size of the Array fixture is 1.
        $this->assertEquals(3, sizeof($fixture));
    }
}

$a = new ArrayTest();
$a->testArrayContainsAnElement();
?>



получаю следующее


Код


Fatal error: Uncaught exception 'PHPUnit2_Framework_AssertionFailedError' with message 'expected same: <3> was not: <1>' in E:\xampp\htdocs\test\PHPUnit2\Framework\Assert.php:491 Stack trace: #0 E:\xampp\htdocs\test\PHPUnit2\Framework\Assert.php(533): PHPUnit2_Framework_Assert::fail('expected same: ...') #1 E:\xampp\htdocs\test\PHPUnit2\Framework\Assert.php(238): PHPUnit2_Framework_Assert::failNotSame(3, 1, '') #2 E:\xampp\htdocs\test\PHPUnit2\Framework\Assert.php(180): PHPUnit2_Framework_Assert::doAssertEquals(3, 1, 0, true, '') #3 E:\xampp\htdocs\test\testcase.php(22): PHPUnit2_Framework_Assert::assertEquals(3, 1) #4 E:\xampp\htdocs\test\testcase.php(27): ArrayTest->testArrayContainsAnElement() #5 {main} thrown in E:\xampp\htdocs\test\PHPUnit2\Framework\Assert.php on line 491


я только вижу что сообщение <3> was not: <1> это правильно. 

Автор: Fortop 18.5.2008, 17:52
Я сейчас не подскажу, давно писал. Вообще я пользовался Suite и запускал не отдельные тесты, а комплект.
Но в любом случае, выглядеть это должно примерно так.
http://www.phpunit.de/pocket_guide/3.2/en/textui.html
http://www.phpunit.de/pocket_guide/3.2/en/organizing-test-suites.html

Код

php AllTests.php
PHPUnit 3.2.10 by Sebastian Bergmann.

............................................................  60 / 227
............................................................ 120 / 227
............................................................ 180 / 227
.........................SSSSSS................

Time: 4 seconds


OK, but incomplete or skipped tests!
Tests: 227, Skipped: 6.


Добавлено через 26 секунд
В случае Failed вместо . и S появляется буква F

Автор: jbruder 18.5.2008, 18:07
блин, не по человечески это все, я ничего не понял  smile  А где можно простые примеры посмотреть?

Автор: Fortop 18.5.2008, 18:18
jbruder, я тебе ссылки дал. Там же примеры и на то, как создавать тесты и как запускать

Автор: jbruder 18.5.2008, 18:33
я эти страницы уже 2 дня назад видел. Ты сам пробовал с эти тесты вывести?  Я ссылок тоже могу найти кучу, это не помощь

Автор: Fortop 18.5.2008, 19:02
jbruder, возьми оттуда примеры и проверь их.
Затем сделай по аналогии.

Твой вопрос был
Цитата(jbruder @  18.5.2008,  16:59 Найти цитируемый пост)
Подскажите плиз кто работал с phpunit как запустить правильно тест

Ответ : php AllTests.php

Но твоя проблема в том, что сам тест у тебя написан неправильно.

Автор: jbruder 18.5.2008, 19:24
а где эти файлы PHPUnit/Framework.php или Framework/Assert.php? Их нет ни в одной версии. Дай мне твой код который ты запустил,  я его проверю

Автор: Fortop 18.5.2008, 21:05
http://www.phpunit.de/pocket_guide/3.2/en/installation.html
почитай
Образцы дам завтра.

Автор: Fortop 21.5.2008, 17:38
В общем, для желающих 2 маленьких теста и suite для них.

Важно, при запуске 
phpunit имя_класса_тестов

путь к классу тестов должен быть в include_path

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)