«

»

May 10

Print this Post

MXUnit – funções setUp() e tearDown()

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("xxx@yyyy.com") />
</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.

por Anderson Straube
Post original

Permanent link to this article: http://ensina.me/coldfusion/mxunit-funcoes-setup-e-teardown/

Leave a Reply