...
Bom, vamos ver como podemos marcar um teste como "skip".
Para exemplos completos, veja em (Exemplo no GitHub) em: github.com/totvs/tlpp-probat-samples
Pulando Funções, Classes e Métodos
...
- @Skip()
Esse recurso causa o "pulo" da função, classe interia ou somente o método inteirode testes, independentemente de quantas funções de asserts existem implementados em seu escopo.
Portanto, mesmo que hajam muitos asserts implementados, quando houver @skip() o PROBAT irá registrar somente 1 (um) salto no resultado de testes, pois ele irá fazer referência à função ou ao método e não ao seu conteúdo.
Exemplos:
...
@Skip() para função:
Bloco de código |
---|
|
@TestFixture()
@Skip()
user function test_samplefunction_skip() |
...
@Skip() para classe:
Bloco de código |
---|
|
@TestFixture()
@Skip()
class test_class_skip()
... |
@Skip() para método:
Bloco de código |
---|
|
...
@Test()
@Skip()
public method test_samplemethod_skip()
... |
Pulando asserts específicos - SKIPASSERT e SKIPTEST
...
Para isso existe um comando que é inserído inserido em seu fonte logo antes da execução do assert.
...
Usaremos no exemplo uma função, mas o procedimento pode ser usado em método também pois esse recurso é por assert.
Usando função:
Bloco de código |
---|
|
#include "tlpp-core.th"
#include "tlpp-probat.th"
using namespace tlpp.probat
@TestFixture()
user function test_sample_skip_assert()
local cVar := "" as character
local nVar := 0 as numeric
local fVar as decimal
assertEquals( valtype(cVar), "C" )
SKIPTEST
assertEquals( valtype(fVar), "F" )
// OU
SKIPASSERT
assertEquals( valtype(fVar), "F" )
assertEquals( valtype(nVar), "N" )
return .T. |
Utilizando filtros para o Skip
O recurso de salto possui a possibilidade de informar algumas circunstâncias que o teste deve ser "pulado", seguem:
...
Bloco de código |
---|
|
@Skip( system="windows" ) // Somente pula o teste em Sistema Operacional WINDOWS
// ou
@Skip( system="linux" ) // Somente pula o teste em Sistema Operacional LINUX |
...
Bloco de código |
---|
|
@Skip( tlppVersion="01.02.10" ) // Somente a versão 01.02.10
// ou
@Skip( tlppVersion="< 01.02.12" ) // Todas as versões abaixo de 01.02.12
// ou
@Skip( tlppVersion=">= 01.02.12" ) // Todas as versões acima e igual de 01.02.12 |
...
Bloco de código |
---|
|
// Somente a versão 01.02.10
SKIPASSERT TLPPVERSION "01.02.10"
// ou
SKIPTEST TLPPVERSION "01.02.10"
// Todas as versões abaixo de 01.02.12
SKIPASSERT TLPPVERSION "< 01.02.12"
// ou
SKIPTEST TLPPVERSION "< 01.02.12"
// Todas as versões acima e igual de 01.02.12
SKIPASSERT TLPPVERSION ">= 01.02.12"
// ou
SKIPTEST TLPPVERSION ">= 01.02.12" |
...
Bloco de código |
---|
|
@Skip( appServerVersion="19.3.1.5" ) // Somente a versão 19.3.1.5
// ou
@Skip( appServerVersion="< 19.3.1.7" ) // Todas as versões abaixo de 19.3.1.7
// ou
@Skip( appServerVersion=">= 19.3.1.7" ) // Todas as versões acima e igual de 19.3.1.7 |
...
Bloco de código |
---|
|
// Somente a versão 19.3.1.5
SKIPASSERT TLPPVERSIONAPPSERVERVERSION "19.3.1.5"
// ou
SKIPTEST TLPPVERSIONAPPSERVERVERSION "19.3.1.5"
// Todas as versões abaixo de 19.3.1.7
SKIPASSERT TLPPVERSIONAPPSERVERVERSION "< 19.3.1.7"
// ou
SKIPTEST TLPPVERSIONAPPSERVERVERSION "< 19.3.1.7"
// Todas as versões acima e igual de 19.3.1.7
SKIPASSERT TLPPVERSIONAPPSERVERVERSION ">= 19.3.1.7"
// ou
SKIPTEST TLPPVERSIONAPPSERVERVERSION ">= 19.3.1.7" |
Nome appserver:
...
Bloco de código |
---|
|
@Skip( appServerName="LOBO-GUARA" ) // Somente pula o teste em appserver LOBO-GUARA
// ou
@Skip( appServerName="HARPIA" ) // Somente pula o teste em appserver HARPIA |
...
Bloco de código |
---|
|
// Somente pula o teste em appserver LOBO-GUARA
SKIPASSERT APPSERVERNAME "HARPIALOBO-GUARA"
// ou
SKIPTEST APPSERVERNAME "HARPIALOBO-GUARA"
// Somente pula o teste em appserver HARPIA
SKIPASSERT APPSERVERNAME "HARPIA"
// ou
SKIPTEST APPSERVERNAME "HARPIA" |
...
Bloco de código |
---|
|
@Skip( system="linux", appServerName="HARPIA" )
// ou
SKIPASSERT SYSTEM "linux" APPSERVERNAME "HARPIA"
// ou
SKIPTEST SYSTEM "linux" APPSERVERNAME "HARPIA" |
...