Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Test timeout doesn't work with BDD scenarios

Aberta
#3,055 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
javascript, node.js, playwright
Domínio
testing

Direção de pesquisa

Reproduza o problema com a configuração mostrada do CodeceptJS, o helper do Playwright e o cenário BDD; em seguida, rastreie como o timeout global e o timeout do hook Before são aplicados. Confirme o comportamento para ambas as abordagens e adicione um teste de regressão mostrando que um cenário para no limite configurado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug critical
What are you trying to achieve?

I would like to define a test timeout in order to prevent being stuck during the execution - native applications & websites can be down / blocked during the execution and I want to skip a test when it reaches a limit.

So I tried (without success) to use the 2 following features available in codeceptjs:

  1. Timeout setting in the configuration file: https://codecept.io/configuration/#configuration
exports.config = {
...
  timeout: 10000,
...
}
  1. Dynamic timeout override by using advanced options: https://codecept.io/advanced/#test-options
Before((test) => {
  test.timeout(10000);
});
What do you get instead?
  • Approach 1 - Timeout setting: has no effect at all
  • Approach 2 - Dynamic timeout override: test execution continues until the end and fails with timeout message if execution exceeds the threshold (see screenshot)

Example: timeout set to 10s, execution ran in 36s before displaying the error message

image

Details
  • CodeceptJS version: 3.1.2
  • NodeJS Version: 16.4.2
  • Operating System: Mac OS
  • Configuration file:
exports.config = {
  output: './output',
  timeout: 10000,
  helpers: {
    Playwright: {
      url: 'http://localhost',
      show: true,
      browser: 'chromium',
      waitForNavigation: 'domcontentloaded'
    },
    ChaiWrapper: {
      require: "codeceptjs-chai"
    }
  },
  include: {},
  mocha: {},
  bootstrap: null,
  teardown: null,
  hooks: [],
  gherkin: {
    features: './features/*.feature',
    steps: './step_definitions/*.js'
  },
  plugins: {
    screenshotOnFail: {
      enabled: true
    },
    pauseOnFail: {},
    retryFailedStep: {
      enabled: true
    },
    tryTo: {
      enabled: true
    }
  },
  tests: './*_test.js',
  name: 'cjs-training'
}
Linguagem predominante
JavaScript
Estrelas
4.2k
Forks
756
Merge médio
2d 9h
PRs com merge (30d)
16

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de codeceptjs/CodeceptJS

Todas as issues de codeceptjs/CodeceptJS

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.