Continuando a série de posts sobre TDD (Test Driven Development), vamos explorar os métodos “setUp()” e “tearDown()”.
Na maioria dos frameworks de testes unitários temos esses dois métodos para a configuração do nosso teste:
setUp()
Este método é utilizado no início do processo de teste, ou seja, antes de executar cada teste nós preparamos o cenário com configurações anteriores a execução de cada caso de teste.
tearDown()
Este método é utilizado no final de cada caso de teste, ou seja, ele desfaz o que o setUp() criou.
Vamos ver na prática como utilizá-los:
<cfcomponent displayname="MeuComponenteTest" extends="mxunit.framework.TestCase" hint="Componente exemplo de teste"> <cffunction name="setUp" access="public" returntype="void"> <!--- Instancia o componente que queremos testar e faz os set's necessários antes da execução dos casos de teste ---> <cfset this.objTeste = createObject("component","Usuario").init() > <cfset this.objTeste.setNome("Anderson Straube") /> <cfset this.objTeste.setEmail("[email protected]") /> </cffunction> <!--- ...seus testes aqui... ---> <cffunction name="tearDown" access="public" returntype="void"> <!--- Aqui eu limpo a variável "objTeste" ---> <cfset this.objTeste = "" > </cffunction> </cfcomponent>
Nosso componente herda a classe TestCase do framework (extends=”mxunit.framework.TestCase”), então o método setUp() é chamado, depois nosso método de teste e então tearDown().
Vale ressaltar que os métodos setUp() e o tearDown() são executados para cada caso de teste.
A idéia é que quando você precisa testar algo, o objeto deve estar em um estado conhecido, então o setUp faz isso, configura o objeto ao estado inicial desejado e normalmente o tearDown irá limpá-lo, uma vez que o objeto pode ter seu estado alterado em algum teste executado.
Até a próxima.