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.
Próxima página: CalculateFixture Página acima: Fixtures da FitLibrary

SetUpFixture

SetUpFixture é uma substituta excepente para ColumnFixture se você não quer testar nada, e somente preparar o cenário para outras fixtures. Por exemplo, você pode usar SetUpFixture para inserir linhas numa tabela do banco de dados ou criar objetos de domínio que serão usado nos testes que se seguem.

Formato da Tabela

A primeira linha de uma tabela que use SetUpFixture é o nome da classe da fixture. A segunda linha lista nomes de propriedades para seus objetos. Todas as linhas depois disso contêm valores destas propriedades. Não existem células de saída na tabela SetUpFixture . Todas são usadas apenas como entrada.

!|SetUpFixtureTest|
|player|post code|balance|
|John Smith|SW4 66Z|10.00|
|Michael Jordan|NE1 8AT|12.00|

Classe da Fixture

A classe da fixture deve estender fitlibrary.SetUpFixture e declarar um único método. O nome do método deve ser igual a todos os nomes de propriedades da tabela concatenados (você pode usar CamelCase para separar palavras). O método deve ter um argumento para cada coluna da tabela. A tabela SetUpFixture é executada invocando este método uma vez para cada linha da tabela.

Código-fonte em Java

package info.fitnesse.fixturegallery;

import info.fitnesse.fixturegallery.domain.Player;

import java.util.ArrayList;
import java.util.List;

import fitlibrary.SetUpFixture;

public class SetUpFixtureTest extends SetUpFixture{
	public SetUpFixtureTest() {
		 Player.players.clear();
	}
	public void playerPostCodeBalance(String name, String postCode, double balance){
	 Player.addPlayer(name, postCode, balance) ;
 }
}

Código-fonte em .NET


namespace info.fitnesse.fixturegallery
{
    public class SetUpFixtureTest : fitlibrary.SetUpFixture
    {
        public SetUpFixtureTest()
        {
            Player.players.Clear();
        }
        public void PlayerPostcodeBalance(string player, string postCode, decimal balance)
        {
            Player p = new Player();
            p.Name = player;
            p.PostCode = postCode;
            p.Balance = balance;
            Player.players.Add(p);
        }
       }
}

Código-fonte em Python

from fitLib.SetUpFixture import SetUpFixture
from info.fitnesse.fixturegallery.domain.Player import Player

class SetUpFixtureTest(SetUpFixture):
    _typeDict = {}

    def __init__(self):
        Player.players = []

    # JAVA: void playerPostCodeBalance(String name, String postCode, double balance){
    _typeDict["playerPostCodeBalance.types"] = [ None, "String", "String", "Float" ]
    def playerPostCodeBalance(self, name, postCode, balance):
        Player.addPlayer(name, postCode, balance)

Código-fonte em Smalltalk

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


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

!Info.Fitnesse.Fixturegallery.SetUpFixtureTest methodsFor: 'initialize-release'!

initialize
	super initialize.
	Player clearPlayers! !

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

player: nameString postCode: postCodeString balance: aNumber
	Player addPlayerNamed: nameString postCode: postCodeString balance:
			aNumber! !

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

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

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 a SetUpFixture para inicializar uma lista de objetos de domínio, preparar uma tabela do banco de dados ou apenas executar um método várias vezes com argumentos diferentes.

Não use SetUpFixture se o resultado da operação ou a verificação de erros for importante. Neste é melhor usar ColumnFixture (veja ColumnFixture) ou CalculateFixture .

Próxima página: CalculateFixture Página acima: Fixtures da FitLibrary


Personal Tools