A Galeria de Fixtures também está disponível como documento PDF e um wiki FitNesse online. Acesse http://gojko.net/fitnesse/fixturegallery para mais informações.
Página anterior: SetUpFixture Próxima página: DoFixture Página acima: Fixtures da FitLibrary

CalculateFixture

CalculateFixture é usada para verificar o resultado de um ou mais cálculos para diferentes combinações de argumentos de entrada. Ela faz o mesmo que a ColumnFixture com um formato de tabela diferente e com muito menos código.

Formato da Tabela

A primeira linha de uma tabela é o nome da classe da fixture. Depois disso, a segunda linha contém nomes para os parâmetros de entrada, seguindos de uma célula vazia e o nome dos cálculos (valores de saída). Todas as linhas depois desta especificam valores de entrada e saída para os cálculos. Uma célula vazia é novamente usada para separar colunas de entrada das de resultados esperados (valores de saída).

!|CalculateFixtureTest|
|firstPart|secondPart||together|
|Hello|World||Hello, World|
|Houston|We Have a Problem||Houston, We Have a Problem|

Classe da Fixture

A classe da fixture deve estender fitlibrary.CalculateFixture. Ela deve declarar um método para cada coluna de cálculo. O nome do método deve ser igual ao nome do cálculo concatenado com todos os nomes dos parâmetros (neste caso togetherFirstPartSecondPart). Você pode usar CamelCase nos nomes para separar palavras.

Código-fonte em Java

package info.fitnesse.fixturegallery;

import fitlibrary.CalculateFixture;

public class CalculateFixtureTest extends CalculateFixture{
	public String togetherFirstPartSecondPart(String firstPart,String secondPart){
		return firstPart+ ", "+secondPart;
	}
}

Código-fonte em .NET

using fitlibrary;
using System;

namespace info.fitnesse.fixturegallery
{
	public class CalculateFixtureTest: CalculateFixture
	{
		public String TogetherFirstPartSecondPart(String firstPart,String secondPart)
		{
			return firstPart+ ", "+secondPart;
		}
	}
}

Código-fonte em Python

from fitLib.CalculateFixture import CalculateFixture

class CalculateFixtureTest(CalculateFixture):
    _typeDict = {}

    # JAVA: String togetherFirstPartSecondPart(String firstPart,String secondPart){
    _typeDict["togetherFirstPartSecondPart.types"] = ["String", "String", "String"]
    def togetherFirstPartSecondPart(self, firstPart, secondPart):
        return "%s, %s" % (firstPart, secondPart)

Código-fonte em Smalltalk

'From VisualWorks®, 7.6 of March 3, 2008 on June 27, 2008 at 3:36:22 pm'!


Info.Fitnesse.Fixturegallery defineClass: #CalculateFixtureTest
	superclass: #{Fitlibrary.CalculateFixture}
	indexedType: #none
	private: false
	instanceVariableNames: ''
	classInstanceVariableNames: ''
	imports: ''
	category: ''!

!Info.Fitnesse.Fixturegallery.CalculateFixtureTest methodsFor: 'type access'!

signatureFor: aSymbol
	^MethodSignature with: String with: String returning: String! !

!Info.Fitnesse.Fixturegallery.CalculateFixtureTest methodsFor: 'accessing'!

togetherFirstPart: firstString secondPart: secondString
	^firstString , ', ' , secondString! !

Observações

O nome do método pode ser muito longo e digitá-lo manualmente é sucetível a erros. Então ao invés disso, apenas escreva a tabela e execute o teste que irá falhar na primeira vez. FitNesse vai imprimir o nome do método que ele procurou, então você pode copiá-lo e colá-lo no seu código.

Utilização

Use CalculateFixture para executar o mesmo método para combinações diferentes de argumentos de entrada e verificar os resultados. Se você só quer executar um método e o resultado não é importante (ou o método é void), prefira usar SetUpFixture (veja SetUpFixture). Se você quer executar métodos num objeto de domínio depois de inicializar suas propriedades, a ColumnFixture (veja ColumnFixture) pode ser uma escolha melhor. A ColumnFixture também permite que você apenas imprima o resultado de cálculos, sem testá-los. CalculateFixture trata células vazias como uma string em branco, e a compara com o resultado, então o teste vai falhar se você deixar uma célula de saída vazia.

Página anterior: SetUpFixture Próxima página: DoFixture Página acima: Fixtures da FitLibrary


Personal Tools