Class: TestSuite

@nginstack/jsunit/lib/TestSuite~ TestSuite


new TestSuite(fileId [, opt_sourceEncoding])

Classe que mantém as funções de testes de caso (TestCase).

Parameters:
Name Type Argument Description
fileId number | string

Chave do arquivo na VFS ou o nome de um arquivo no sistema operacional contendo a suite de testes.

opt_sourceEncoding string <optional>

Indica a codificação do arquivo fonte contendo a suíte de testes. Valores possíveis: Encoder.ISO_8859_1 ou Encoder.UTF_8. Será assumido Encoder.ISO_8859_1 quando não for informado.

See:
  • TestCase

Members


filePath :string

Caminho completo do arquivo que definiu esta suíte de testes.

Type:
  • string

<nullable> key :number

Chave da suíte de testes, caso esteja na VFS.

Type:
  • number

name :string

Nome da suíte de testes. Será o nome do arquivo sem a extensão do arquivo.

Type:
  • string

type :number

Tipo do teste. Identifica se o teste é unitário ou de integração.

Type:
  • number

<nullable> version :number

Versão da suíte de testes, caso esteja na VFS.

Type:
  • number

Methods


assert(mensagem, condição)

Realiza uma validação de assertividade e caso a mesma falhe, dispara um erro com a mensagem informada como parâmetro.

Parameters:
Name Type Description
mensagem String

Mensagem de erro que deve ser exibida caso o teste de assertividade falhe. Caso o parâmetro não seja informado, será apresentada uma mensagem padrão.

condição boolean

Condição de assertividade a ser testada

Example
// Teste de assertividade com mensagem informada
  this.assert('Dois é diferente de dois', 2 == 2)

  // Teste de assertividade usando mensagem padrão
  this.assert(3 == 3)

assertEquals(mensagem, valor1, valor2)

Realiza uma validação de assertividade esperando que os parâmetros informados sejam iguais. Caso a mesma falhe, dispara um erro com a mensagem informada como parâmetro.

Parameters:
Name Type Description
mensagem String

Mensagem de erro que deve ser exibida caso o teste de assertividade falhe. Caso o parâmetro não seja informado, será apresentada uma mensagem padrão.

valor1 Object

Valor a ser comparado

valor2 Object

Valor com o qual o valor anterior é comparado

Example
this.assertEquals('Dois é diferente de dois', 2, 2)

assertFalse(mensagem, condição)

Realiza uma validação de assertividade esperando que o resultado seja 'False'. Caso a mesma falhe, dispara um erro com a mensagem informada como parâmetro.

Parameters:
Name Type Description
mensagem String

Mensagem de erro que deve ser exibida caso o teste de assertividade falhe. Caso o parâmetro não seja informado, será apresentada uma mensagem padrão.

condição boolean

Condição de assertividade a ser testada como falsa

Example
this.assertFalse('Dois é igual a três', 2 == 3)

assertNan(mensagem, valor)

Realiza uma validação de assertividade esperando que o parâmetro seja 'NaN'. Caso a mesma falhe, dispara um erro com a mensagem informada como parâmetro.

Parameters:
Name Type Description
mensagem String

Mensagem de erro que deve ser exibida caso o teste de assertividade falhe. Caso o parâmetro não seja informado, será apresentada uma mensagem padrão.

valor Object

Valor que se espera que seja NaN

Example
var resultado = Number("teste")
  this.assertNan('Resultado diferente de NaN', resultado)

assertNotEquals(mensagem, valor1, valor2)

Realiza uma validação de assertividade esperando que os parâmetros informados não sejam iguais. Caso a mesma falhe, dispara um erro com a mensagem informada como parâmetro.

Parameters:
Name Type Description
mensagem String

Mensagem de erro que deve ser exibida caso o teste de assertividade falhe. Caso o parâmetro não seja informado, será apresentada uma mensagem padrão.

valor1 Object

Valor a ser comparado

valor2 Object

Valor com o qual o valor anterior é comparado

Example
this.assertNotEquals('Dois é igual a três', 2, 3)

assertNotNan(mensagem, valor)

Realiza uma validação de assertividade esperando que o parâmetro não seja 'NaN'. Caso a mesma falhe, dispara um erro com a mensagem informada como parâmetro.

Parameters:
Name Type Description
mensagem String

Mensagem de erro que deve ser exibida caso o teste de assertividade falhe. Caso o parâmetro não seja informado, será apresentada uma mensagem padrão.

valor Object

Valor que se espera que seja NaN

Example
var resultado = Number("1000")
  this.assertNotNan('Resultado não deveria ser NaN', resultado)

assertNotNull(mensagem, valor)

Realiza uma validação de assertividade esperando que o parâmetro não seja null. Caso a mesma falhe, dispara um erro com a mensagem informada como parâmetro.

Parameters:
Name Type Description
mensagem String

Mensagem de erro que deve ser exibida caso o teste de assertividade falhe. Caso o parâmetro não seja informado, será apresentada uma mensagem padrão.

valor Object

Valor que se espera que não seja null

Example
var result = functionThatReturnsNonNull()
 this.assertNotNull('Resultado igual a null', result)

assertNotUndefined(mensagem, valor)

Realiza uma validação de assertividade esperando que o parâmetro não seja 'undefined'. Caso a mesma falhe, dispara um erro com a mensagem informada como parâmetro.

Parameters:
Name Type Description
mensagem String

Mensagem de erro que deve ser exibida caso o teste de assertividade falhe. Caso o parâmetro não seja informado, será apresentada uma mensagem padrão.

valor Object

Valor que se espera que não seja undefined

Example
var result = functionThatReturnsNonUndefined();
 this.assertNotUndefined('Resultado igual a undefined', result);

assertNull(mensagem, valor)

Realiza uma validação de assertividade esperando que o parâmetro seja null. Caso a mesma falhe, dispara um erro com a mensagem informada como parâmetro.

Parameters:
Name Type Description
mensagem String

Mensagem de erro que deve ser exibida caso o teste de assertividade falhe. Caso o parâmetro não seja informado, será apresentada uma mensagem padrão.

valor Object

Valor que se espera que seja null

Example
var result = functionThatReturnsNull()
  this.assertNull('Resultado diferente de null', result)

assertTrue(mensagem, condição)

Realiza uma validação de assertividade esperando que o resultado seja 'True'. Caso a mesma falhe, dispara um erro com a mensagem informada como parâmetro.

Parameters:
Name Type Description
mensagem String

Mensagem de erro que deve ser exibida caso o teste de assertividade falhe. Caso o parâmetro não seja informado, será apresentada uma mensagem padrão.

condição boolean

Condição de assertividade a ser testada como verdadeira.

Example
this.assertTrue('Dois é diferente de dois', 2 == 2)

assertUndefined(mensagem, valor)

Realiza uma validação de assertividade esperando que o parâmetro seja 'undefined'. Caso a mesma falhe, dispara um erro com a mensagem informada como parâmetro.

Parameters:
Name Type Description
mensagem String

Mensagem de erro que deve ser exibida caso o teste de assertividade falhe. Caso o parâmetro não seja informado, será apresentada uma mensagem padrão.

valor Object

Valor que se espera que seja undefined

Example
var result = functionThatReturnsUndefined();
  this.assertUndefined('Resultado diferente de undefined', result);

fail(msg)

Dispara um erro do tipo TestError

Parameters:
Name Type Description
msg String

Mensagem de erro. No caso de não informada será exibida a mensagem padrão 'Fail'.

See:
  • TestResult
Example
try {
      var invalid = 10 / 0
      this.fail("Não deveria ser possível dividir por zero")
   } catch (e) {
      // ignora o erro de validação
   }

getFileId()

Identificação do arquivo da suite de testes. Pode ser a chave de uma arquivo na VFS ou um nome de arquivo no sistema de arquivos do sistema operacional.

Returns:
Type
string | number

getId()

Obtém a identificação única da suite de testes.

Returns:
Type
string

getSourceEncoding()

Codificação do arquivo fonte contendo a suíte de testes.

Returns:
Type
string

removeTime(dt)

Remove a componente de hora de uma data zerando a quantidade de horas, minutos, segundos e milissegundos.

Parameters:
Name Type Description
dt Date

Data que terá a componente de hora removida.

Returns:

Data sem a componente de hora.

Type
Date

setUp()

Método executado imediatamente antes de cada teste automatizado de uma suíte de testes

Example
this.setUp = function () {
      // Executo qualquer preparação que o caso de teste necessite como por
      // exemplo a criação de um Mock  específico
      // Neste caso, criamos um Mock para substituir a função serverDate do
      // connection
      function MockConnection() {
      }
      MockConnection.prototype.serverDate = '01/01/2009'
      this.connectionOriginal = connection
      connection = new MockConnection()
   }

tearDown()

Método executado imediatamente após cada teste automatizado de uma suíte de testes

Example
this.tearDown = function () {
      // Executo qualquer rotina pós teste
      // Neste caso, estamos devolvendo ao connection seu comportamento
      // original
      connection = this.connectionOriginal
   }