Class: TestSuite

@nginstack/jsunit/lib/TestSuite~ TestSuite


new TestSuite(fileId [, fileEncoding])

Classe que representa uma coleção de casos de testes.

Uma suíte de testes é declarada por meio de um arquivo da Virtual File System com extensão ".ut" (teste unitário) ou ".it" (teste de integração), ou por arquivos do sistema de arquivos do sistema operacional terminados com os sufixos "_test.js" ou "_i-test.js". No código-fonte desses arquivos, this representará a suíte de teste e os métodos desse objeto que não possuem o prefixo "_" serão considerados os casos de testes.

As asserções dos casos de testes podem ser verificadas por meio do módulo module:@nginstack/engine/lib/testing/assert. Para fins de compatibilidade, as funções de asserções definidas no módulo module:@nginstack/jsunit/lib/LegacyAssertMethods também são declaradas como métodos da classe TestSuite.

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.

Example
// Source of file "my-unit-test.ut"
const assert = require('@nginstack/engine/lib/testing/assert.js');

this.myTestCase = function () {
  assert.equal(2, 2, 'Dummy test case');
};

Members


fileDBKey :DBKey

Chave da suíte de testes, representada por uma instância de DBKey, caso seja um arquivo da Virtual File System.

Type:
  • DBKey

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 :number|null

Chave da suíte de testes caso seja um arquivo da Virtual File System.

Type:
  • number | null

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

group :string

Define o agrupamento de uma suite de teste utilizando uma heurística para determinar o agrupamento com base no diretório do arquivo.

Type:
  • string

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

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

runTestCase(id)

Executa um caso de testes. Esta é uma função avançada de uso interno do JSunit. Ela executa o caso de teste sem executar as funções setUp e tearDown

Parameters:
Name Type Description
id string

Id do caso de teste.


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.