Uso básico do Jest

Uso básico do Jest

Instale e execute o Jest

Jest pode ser instalado via npm para desenvolvimento:

# 指定安装 jest v23.6,不添加 @23.6.0 会安装最新版本
$ npm install --save-dev [email protected]

Observe que ele é usado aqui --save-dev, o que significa que o pacote de dependências só será baixado no ambiente de desenvolvimento, package.jsone devDependenciestambém vou querer atualizá-lo:

{
    
    
  // 省略其他
  "devDependencies": {
    
    
    "jest": "^23.6.0"
  }
}

Depois que as dependências forem instaladas com sucesso, você poderá usar npx jestpara executar os arquivos de teste.

Se não houver arquivo de teste, um erro será relatado.

Executar o arquivo Jest diretamente com npm requer configuração package.jsonem :

{
    
    
  // 省略其他
  "scripts": {
    
    
    "test": "jest"
  }
}

Escreva o primeiro arquivo de teste

O formato de arquivo reconhecido pelo Jest é: 文件名.test.js, como: helloWorld.test.js:

const greeting = () => 'hello world';

describe('greeting()', () => {
    
    
  it('greeting', () => {
    
    
    expect(greeting()).toBe('hello world');
  });
});

dentro:

  • describe()declara que este é um teste côncavo, um conjunto de testes
  • it()declara um teste
  • assertioncriou uma afirmação
  • toBe()É determinar se o valor de retorno é igual à asserção

resultado da operação:

$ npm test
...
 PASS  ./greeting.test.js
  greeting()
    ✓ greeting (3ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        0.83s
Ran all test suites.

Executar testes e cobertura de teste automaticamente

A execução de testes pode ser usada --watchAllcomo um sinalizador:

# 加上关键字全局搜索
$ npx jest --watchAll

Nesse ponto, o npm monitorará todas as alterações de arquivo, incluindo arquivos de implementação e arquivos de teste, e executará novamente o teste.

Para habilitar a cobertura de teste, você pode usar o --coveragesinalizador , como:

$ npm run test -- --coverage --coverageReporters=text

 PASS  ./index.test.js
  greeting()
    ✓ returns "greeting" for greeting (3ms)

----------|----------|----------|----------|----------|-------------------|
File      |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files |       75 |       50 |      100 |    66.67 |                   |
 index.js |       75 |       50 |      100 |    66.67 |                 3 |
----------|----------|----------|----------|----------|-------------------|

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        0.121s, estimated 1s
Ran all test suites.

execute vários testes

describe()Basta adicionar várias it()declarações ao escopo.

const greeting = () => 'hello world';

describe('greeting()', () => {
    
    
  it('greeting', () => {
    
    
    expect(greeting()).toBe('hello world');
  });
});

Acho que você gosta

Origin blog.csdn.net/weixin_42938619/article/details/121011940
Recomendado
Clasificación