Symfony: realizando tests con Panther

Tests end-to-end mediante la librería Panther

Image for post
Image for post

Componentes para emular un navegador en Symfony

Creando tests funcionales en Symfony

bin/console make:functional-test \BlogPostsController

Características de Panther

Nuestro primer test con Panther

// Goutte: HTTP, web server pero sin JS$client = static::createGoutteClient();// WebTestCase: no HTTP, no JS, no web server$client = static::createClient();

Características “molonas” de Panther

Incrementando la velocidad de nuestros tests con Panther

<!-- phpunit.xml.dist -->
<extensions>
<extension class="Symfony\Component\Panther\ServerExtension" />
</extensions>

Bola Extra: AliceBundle

# fixtures/blog_post.yamlApp\Entity\BlogPost:  blog_post_{1..100}:

title: '<sentence()>'

body: '<paragraphs(10, true)>'
...use Hautelook\AliceBundle\PhpUnit\ReloadDatabaseTrait;class BlogPostControllerTest extends PantherTestCase {  use ReloadDatabaseTrait;   public function testShowPost() {   ...

¿Quieres recibir más artículos como este?

Entre paseo y paseo con Simba desarrollo en Symfony y React

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store