Navigation

Contactez-nous

Kitpages
17 rue de la Frise
38000 Grenoble
tel : 04 58 00 33 81

Par Philippe Le Van (twitter accountplv) Dernière mise à jour : 31 May 2012

Quelques tests unitaires basiques

Introduction

Ce tutoriel fait partie du cycle "Tests unitaires d'un bundle Symfony2"

Cette partie présente quelques exemples de tests unitaires basiques. Nous ne montrons que quelques exemples. La théorie et la pratique font l'objets d'innonbrables articles sur Internet.

Tests/Model/FieldTest.php

<?php
namespace Kitpages\DataGridBundle\Tests\Model;

use Kitpages\DataGridBundle\Model\Field;

class FieldTest extends \PHPUnit_Framework_TestCase
{
    public function testConstructor()
    {
        $field = new Field("id");
        $this->assertEquals($field->getFieldName(), "id");

        $field = new Field("phone", array(
            "label" => "Phone",
            "sortable" => true,
            "filterable" => true,
            "visible" => false,
            "formatValueCallback" => function($value) { return strtoupper($value);},
            "autoEscape" => true,
            "translatable" => true
        ));
        $this->assertEquals("Phone", $field->getLabel());
        $this->assertTrue($field->getSortable());
        $this->assertTrue($field->getFilterable());
        $this->assertFalse($field->getVisible());
        $this->assertNotNull($field->getFormatValueCallback());
        $this->assertTrue($field->getFilterable());
        $this->assertTrue($field->getFilterable());
    }

    public function testWrongParameterConstructor()
    {
        try {
            $field = new Field("phone", array(
                "foo" => "bar"
            ));
            $this->fail();
        } catch (\InvalidArgumentException $e) {
            $this->assertTrue(true);
        }
    }
}

Conclusion

Je ne vais pas plus loin, là c'est du test unitaire pur et dur standard. Il y a plein de tutos partout sur Internet.

Voyons maintenant comment tester un service utilisant doctrine2 et une base de données

Commentaires

Note : on ne peut plus ajouter de commentaire sur ce site