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
etearDown
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.