Услуги модульного тестирования в Symfony2

0

Я новичок в тестировании приложений и в Symfony2, поэтому у меня есть один вопрос. Для exaple у меня есть несколько сеансов, одна отправляет письма ($this->mailer->send($message)), а вторая делает некоторые вещи с экземпляром сущности, а затем возвращает экземпляр, который появился для сохранения, поэтому в первом случае мне нужно проверить только assertTrue() (с пометкой или нет)? Но что нужно проверить на втором? Может кто-нибудь мне помочь?

  • 0
    @JakubZalas, простые тесты, такие как assertTrue ..
  • 0
    @JakubZalas, я не могу получить, у меня есть почтовый сервис, это зависит от почтового сервиса symfony2. Как я могу создать экземпляр my_mailer?
Теги:
unit-testing
phpunit

1 ответ

0
Лучший ответ

На самом деле, это довольно широкий вопрос. Одним из примеров того, что я обычно делаю при тестировании служб, которые могут быть изменены, могут быть следующие:

Service Adder обновляет состояние объекта: на основе другого объекта добавляет значение сущности и устанавливает правильные значения до их сохранения.

// src/Acme/DemoBundle/Tests/Service/AdderTest.php
namespace Acme\DemoBundle\Tests\Service;

use Acme\DemoBundle\Service\Adder;
use Acme\DemoBundle\Entity\One;
use Acme\DemoBundle\Entity\Two;

class AdderTest extends \PHPUnit_Framework_TestCase
{
    public function testAdd()
    {
        $add = new Adder();
        $ent1 = new One();
        $ent2 = new Two();

        $ent2->setValue(1);
        $add->setOne($ent1);
        $add->setTwo($ent2);

        $add->updateEntity();// $ent1->setValue($ent2->getValue()+1);

        $this->assertEquals(2, $ent1->getValue());// Expected state of $ent1
    }
}

Конечно, он обычно становится более сложным, но по крайней мере он может дать вам представление о том, как начать (используйте службу для обновления состояния объекта и проверьте, что новое состояние объекта является ожидаемым).

Надеюсь, поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню