|
| 1 | +#  Tutorial Básico |
| 2 | + |
| 3 | +## Instalando o FoxUnit |
| 4 | + |
| 5 | +Existe duas formas de instalar o FoxUnit: |
| 6 | +* Instalar o "gerenciador de pacotes" [Thor](https://github.com/VFPX/Thor) |
| 7 | +* Baixar o arquivo [zip do FoxUnit](https://github.com/VFPX/FoxUnit/blob/master/FoxUnit/FoxUnit.1.6.zip) e extrair na pasta do projeto. |
| 8 | + |
| 9 | +Caso opte pela instalação do Thor, recomendo adicionar o atalho do FoxUnit na barra de ferramentas do VFP. |
| 10 | +* OBS.: O VFP deverá ser iniciado utilizando o THOR.APP. |
| 11 | + |
| 12 | +Se optar pelo zip quando executar o arquivo FOXUNIT.APP o mesmo criará uma pasta Tests e iniciára o FoxUnit. |
| 13 | + |
| 14 | +## Criando uma Classe de Teste |
| 15 | + |
| 16 | +Para criar testes unitarios você precisar de uma Classe de Teste referente a qual classe ou formulário você deseja testar. |
| 17 | + |
| 18 | +Para criar uma Classe de Teste no FoxUnit realize os seguintes procedimentos: |
| 19 | + |
| 20 | +* Iniciar o FoxUnit e clique no botão de **New** |
| 21 | + |
| 22 | +  |
| 23 | + |
| 24 | +* Na tela **New Test Class** você deve: |
| 25 | + * Selecionar um template (Recomendo o Standard) |
| 26 | + * Informar nome da Classe de Teste (Ex.: TesteClasseNFE, TesteFrmCadCliente) |
| 27 | + * Clique em **Create Test Class** (O Botão é habilitado após informar o nome da classe e mudar o foco) |
| 28 | + |
| 29 | +* Após criar a Classe de Teste a mesma será apresentada no Grid como na imagem abaixo |
| 30 | + |
| 31 | +  |
| 32 | + |
| 33 | +Você pode editar a Classe realizando um duplo clique sobre a mesma no Grid ou Clicando nos botões de **Add** ou **Edit**. |
| 34 | +Quando clicado no botão de Add o FoxUnit cria uma função de teste unitário com um template padrão. |
| 35 | + |
| 36 | +> OBS.: Caso tenha selecionado o template Standard ao criar a Classe de Teste, você terá uma classe com comentários explicativos sobre as funções principais do FoxUnit. |
| 37 | +
|
| 38 | +## Funções Principais |
| 39 | + |
| 40 | +* Setup() |
| 41 | +Chamado automaticamente no início de cada teste. |
| 42 | +Está função deve ser utilizada para instaciar objetos que serão utilizados nas funções de teste unitário. |
| 43 | + |
| 44 | +* TearDown() |
| 45 | +Chamado automaticamente no final de cada teste. |
| 46 | +Está função serve para efetuar um "Dispose" dos objetos que foram criados na função de Setup(). |
| 47 | + |
| 48 | +* Asserts |
| 49 | + |
| 50 | + * AssertEquals(tuExpectedValue, tuExpression, tcMessage,tuNonCaseSensitiveStringComparison) |
| 51 | + * AssertEqualsArrays(@taArray1, @taArray2, tcMessage) |
| 52 | + * AssertNotEqualsArrays(@taArray1, @taArray2, tcMessage) |
| 53 | + * AssertTrue(tuExpression, tcMessage) |
| 54 | + * AssertFalse(tuExpression, tcMessage) |
| 55 | + * AssertNotEmpty(tuExpression, tcMessage) |
| 56 | + * AssertNotNull(tuExpression, tcMessage) |
| 57 | + * AssertNotNullOrEmpty(tuExpression, tcMessage) |
| 58 | + * AssertIsObject(toObject, tcMessage) |
| 59 | + * AssertIsNotObject(toObject, tcMessage) |
| 60 | + * AssertHasError(tcMessage, toException, taStackInfo) |
| 61 | + * AssertHasErrorNo(tcMessage, toException, tnErrorNo, taStackInfo) |
| 62 | + * AssertNotImplemented(tcMessage) (The new default return value for new tests) |
| 63 | + |
| 64 | + O parâmetro **tcMessage** é uma mensagem que será exibida quando o teste falhar, para apresentar uma mensagem quando o teste passar utilize a função **MessageOut(tcMessage)**, a mensagem será apresentada na aba *Messages* |
| 65 | + |
| 66 | +> Para mais informações acesse os links: |
| 67 | +> * https://github.com/VFPX/FoxUnit |
| 68 | +> * https://github.com/VFPX/FoxUnit/blob/master/FoxUnit_Asserts.md |
| 69 | +> * http://www.aksel.com/whitepapers/FoxUnit.htm |
| 70 | + |
0 commit comments