[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: (5) Тестирование PHPUnit
SlavaFr
Тестирование в PHPUnit


Важные методы для проведения Тестов.
PHPUnit запускает свои тесты по определенному принципу.
1) Он берет тестируемый класс и производит статический метод setUpBeforeClass().
Если вы например в каждом тест-методе вашего класса нуждаетесь в какой то инициализации (например конекция с БД.) то делайте эти инициализации переписывая этот метод. Не забывайте, что метод статически и может по этому работать только с статическими переменными.
2) Теперь PHPUnit начинает обрабатывать каждый тест класса, но вызывает перед каждым тестом метод setUp(), а после теста метод tearDown(). Таким образом переписав эти методы вы можете произвести настройки перед тестом и после теста.

3) Когда все тесты класса прошли вызывается статический метод tearDownAfterClass. Переписав этот метод вы можете к примеру привести систему в первоначальное состояние.

Пример из Документации к PHPUnit (http://www.phpunit.de/manual/current/en/fixtures.html):

<?php
class
TemplateMethodsTest extends PHPUnit_Framework_TestCase
{
public static function setUpBeforeClass()
{
fwrite(STDOUT, __METHOD__ . "\n");
}

protected function setUp()
{
fwrite(STDOUT, __METHOD__ . "\n");
}

protected function assertPreConditions()
{
fwrite(STDOUT, __METHOD__ . "\n");
}

public function testOne()
{
fwrite(STDOUT, __METHOD__ . "\n");
$this->assertTrue(TRUE);
}

public function testTwo()
{
fwrite(STDOUT, __METHOD__ . "\n");
$this->assertTrue(FALSE);
}

protected function assertPostConditions()
{
fwrite(STDOUT, __METHOD__ . "\n");
}

protected function tearDown()
{
fwrite(STDOUT, __METHOD__ . "\n");
}

public static function tearDownAfterClass()
{
fwrite(STDOUT, __METHOD__ . "\n");
}

protected function onNotSuccessfulTest(Exception $e)
{
fwrite(STDOUT, __METHOD__ . "\n");
throw $e;
}
}

Теперь видно, последовательность вызова методов.

phpunit TemplateMethodsTest
PHPUnit 3.7.0 by Sebastian Bergmann.

TemplateMethodsTest::setUpBeforeClass
TemplateMethodsTest::setUp
TemplateMethodsTest::assertPreConditions
TemplateMethodsTest::testOne
TemplateMethodsTest::assertPostConditions
TemplateMethodsTest::tearDown
.TemplateMethodsTest::setUp
TemplateMethodsTest::assertPreConditions
TemplateMethodsTest::testTwo
TemplateMethodsTest::tearDown
TemplateMethodsTest::onNotSuccessfulTest
FTemplateMethodsTest::tearDownAfterClass


Time: 0 seconds, Memory: 5.25Mb

There was 1 failure:

1) TemplateMethodsTest::testTwo
Failed asserting that <boolean:false> is true.
/home/sb/TemplateMethodsTest.php:30

FAILURES!
Tests: 2, Assertions: 2, Failures: 1.


========
Предыдущая тема http://phpforum.ru/index.php?showtopic=72206

Следующая Тема "Создание заменяющих объектов (Mock)"

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.