CLI Angular - Comando de teste de ng

Sintaxe

ng test <project> [options]
ng t <project> [options]

ng test execute os casos de teste de unidade no código do aplicativo angular. As opções são parâmetros opcionais.

Argumentos

Sr. Não. Argumento e Sintaxe Descrição
1 <projeto> O nome do projeto a ser testado.

Opções

Sr. Não. Opção e sintaxe Descrição
1 --browsers = browsers Substitua os testes dos navegadores em relação aos quais são executados.
2 --codeCoverage = true | false

Produza um relatório de cobertura de código.

Padrão: falso

3 --codeCoverageExclude Globs para excluir da cobertura do código.
4 --configuration = configuração

Um destino de compilação nomeado, conforme especificado na seção "configurações" do angular.json. Cada destino nomeado é acompanhado por uma configuração de padrões de opção para aquele destino. Definir isso substitui explicitamente o sinalizador "--prod"

Aliases: -c

5 --help = true | false | json | JSON

Mostra uma mensagem de ajuda para este comando no console.

Padrão: falso

6 --incluir

Globs de arquivos a serem incluídos, relativos à área de trabalho ou raiz do projeto. Existem 2 casos especiais -

  • quando um caminho para o diretório é fornecido, todos os arquivos spec terminando em ".spec. @ (ts | tsx)" serão incluídos.

  • quando um caminho para um arquivo for fornecido e um arquivo de especificação correspondente existir, ele será incluído.

7 --karmaConfig = karmaConfig O nome do arquivo de configuração do Karma.
8 --main = main O nome do arquivo de ponto de entrada principal.
9 --votação Habilite e defina o período de tempo de pesquisa de monitoramento de arquivo em milissegundos.
10 --polyfills = polyfills O nome do arquivo polyfills.
11 --preserveSymlinks = true | false

Não use o caminho real ao resolver módulos.

Padrão: falso

12 --prod = true | false Abreviação de "--configuration = production". Quando verdadeiro, define a configuração de construção para o destino de produção. Por padrão, o destino de produção é definido na configuração do espaço de trabalho de forma que todas as compilações façam uso de agrupamento, agitação limitada de árvore e também eliminação limitada de código morto.
13 --progress = true | false Registre o progresso no console durante a construção.
13 --progress = true | false Registre o progresso no console durante a construção.
14 - repórteres Repórteres do Karma para usar. Passado diretamente para o corredor do carma.
15 --sourceMap = true | false

Mapas de origem de saída.

Padrão: verdadeiro

16 --tsConfig = tsConfig O nome do arquivo de configuração TypeScript.
17 --watch = true | false Execute o build quando os arquivos forem alterados.
18 --webWorkerTsConfig = webWorkerTsConfig Configuração de TypeScript para módulos Web Worker.

Primeiro vá para um projeto angular atualizado usando o comando ng build .

Agora execute o comando de teste.

Exemplo

\>Node\>TutorialsPoint> ng test
...
WARN: ''app-goals' is not a known element:
1. If 'app-goals' is an Angular component, then verify that it is part of this module.
2. If 'app-goals' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.'
Chrome 83.0.4103 (Windows 7.0.0): Executed 0 of 4 SUCCESS (0 secs / 0 secs)
...
AppComponent should render title FAILED
   TypeError: Cannot read property 'textContent' of null
      at <Jasmine>
      at UserContext.<anonymous> (http://localhost:9876/_karma_webpack_/src/app/app.component.spec.ts:33:51)
            ...
Chrome 83.0.4103 (Windows 7.0.0): Executed 1 of 4 (1 FAILED) (0 secs / 0.203 secs)
...
Chrome 83.0.4103 (Windows 7.0.0): Executed 2 of 4 (1 FAILED) (0 secs / 0.221 secs)
...
Chrome 83.0.4103 (Windows 7.0.0): Executed 4 of 4 (1 FAILED) (0 secs / 0.244 sec
Chrome 83.0.4103 (Windows 7.0.0): Executed 4 of 4 (1 FAILED) (0.282 secs / 0.244
 secs)
TOTAL: 1 FAILED, 3 SUCCESS

Agora, para corrigir falhas, atualize o app.component.spec.ts

app.component.spec.ts

import { TestBed, async } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { AppComponent } from './app.component';

describe('AppComponent', () => {
   beforeEach(async(() => {
      TestBed.configureTestingModule({
         imports: [
            RouterTestingModule
         ],
         declarations: [
            AppComponent
         ],
      }).compileComponents();
   }));

   it('should create the app', () => {
      const fixture = TestBed.createComponent(AppComponent);
      const app = fixture.componentInstance;
      expect(app).toBeTruthy();
   });
});

Agora execute o comando de teste.

Exemplo

\>Node\>TutorialsPoint> ng test
...
WARN: ''app-goals' is not a known element:
1. If 'app-goals' is an Angular component, then verify that it is part of this m
odule.
2. If 'app-goals' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@
NgModule.schemas' of this component to suppress this message.'
Chrome 83.0.4103 (Windows 7.0.0): Executed 1 of 2 SUCCESS (0 secs / 0.053 secs)
...
Chrome 83.0.4103 (Windows 7.0.0): Executed 2 of 2 SUCCESS (0.097 secs / 0.073 se
cs)
TOTAL: 2 SUCCESS

ng test também abre o navegador e exibe o status do teste.