Class: TestSuite

@nginstack/jsunit/lib/TestSuite~ TestSuite


new TestSuite(fileId [, fileEncoding])

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.

fileEncoding string <optional>

Indica a codificação do arquivo fonte contendo a suíte de testes. Codificações suportadas: 'utf-8' ou 'windows-1252'. Quando não for informado, será assumido 'windows-1252' para arquivos da VFS e 'utf-8' para o sistema de arquivos local.

Members


fileEncoding :string

Codificação do arquivo fonte contendo a suíte de testes. Codificações suportadas: 'utf-8' ou 'windows-1252'

Type:
  • string

fileId :string|number

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

Type:
  • string | number

fileKey :DBKey

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

Type:
  • DBKey

filePath :string

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

Type:
  • string

fileType :number

Chave do tipo do arquivo de teste que identifica se o teste é unitário ou de integração.

Os valores possíveis são "application/x-test" (-1898146071) ou "application/x-unit-test" (-1891604032);

Type:
  • number

id :string

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

Type:
  • string

name :string

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

Type:
  • string

packageName :string

Nome do pacote JAZ ao qual esta suíte está associada.

Type:
  • string

product :number|null

Chave do produto do sistema ao qual esta suíte está associada.

Type:
  • number | null

testCases :Array.<TestCase>

Casos de testes contidos nesta suíte.

Type:
  • Array.<TestCase>

<nullable> version :number

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

Type:
  • number

Methods


<static> findPackageName(path)

Retorna o nome do pacote contido no arquivo "package.json" no caminho informado ou nos diretórios acima dele. Caso seja informado um nome de arquivo, será utilizado o diretório desse arquivo.

Parameters:
Name Type Description
path string

Caminho onde será pesquisado o nome do pacote.

Returns:

Nome pacote encontrado ou uma string vazia caso não encontre um.

Type
string

<static> formatSuiteName(filePath)

Formata o nome da suíte de testes a partir do caminho do arquivo da suíte de testes.

Parameters:
Name Type Description
filePath string

Caminho do arquivo da suíte de testes.

Returns:

Nome da suíte de testes.

Type
string

<static> formatTestCaseId(suiteId, testCaseName)

Formata um identificador único de um caso de testes.

Parameters:
Name Type Description
suiteId string

Identificador único da suíte de testes.

testCaseName string

Nome do caso de testes.

Returns:

Id único que identifica um caso de testes.

Type
string

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:
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
}

findTestCase(id)

Pesquisa um caso de testes com o nome ou id informado. Caso não encontre, retorna null.

Parameters:
Name Type Description
id string

Nome ou id do caso de testes.

Returns:
Type
TestCase

getTestCase(id)

Obtém o caso de testes com o nome ou id informado.

Parameters:
Name Type Description
id string

Nome ou id do caso de testes.

Returns:
Type
TestCase

isTestCase(methodName)

Determina se o nome do método informado deve ser tratado como um TestCase.

Parameters:
Name Type Description
methodName string

Nome do método.

Returns:

True se o método deve ser tratado como um caso de teste desta suíte.

Type
boolean

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 = new Date();
  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;
}

update()

Recarrega a definição dos casos de testes contidos nesta suíte.