Tout mot réel exemple de la manière setUp() et tearDown() doit être utilisé dans PHPUnit?

Méthodes setUp() et tearDown() sont appelées avant et après chaque test. Mais vraiment, est-il réellement des mots sur pourquoi j'ai besoin de cela?

Inspecter d'autres personnes de tests, j'ai toujours de voir quelque chose comme:

public function setUp()
{
    $this->testsub = new TestSubject();
}

public function tearDown()
{
    unset($this->testsub);
}

public function testSomething()
{
    $this->assertSame('foo', $this->testsub->getFoo());
}

Bien sûr, il n'y a pratiquement pas de différence entre ce chemin et la "vieille" variable locale manière.

  • La différence, c'est que vous avez seulement besoin de mettre le code à la fois, peu importe combien d'essais il y a dans votre classe de test
  • alors... juste lors de la création du sujet de test nécessite beaucoup de lignes, par exemple?
  • Un bon exemple serait la configuration d'une table de base de données et de le détruire à nouveau lors de la finition du test.
  • Gremo -- l'installation et le démontage sont exécutés pour chaque méthode de test de la classe. Donc, si vous modifiez les variables de l'objet, vous voulez une nouvelle objet sur votre prochain test
  • - Je l'utiliser dans des scénarios de vie réelle sur 30 à 50 classes de test
InformationsquelleAutor gremo | 2012-12-18