Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Silent Failures of Assertions When Using --grep with Full Feature-Scenario Name

Fermée
#5,528 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
52/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Domaine
cli, testing

Piste de recherche

Reproduisez le problème avec le Feature/Scenario Outline et la définition d’étape dans .steps.ts, en comparant npx codeceptjs run --grep "Featurename: Scenarioname" avec la commande qui exécute uniquement le scénario. Commencez par la gestion de --grep de la CLI et suivez la manière dont la correspondance complète feature-scénario exécute les assertions et enregistre les résultats. Le travail est terminé lorsque les assertions échouées sont signalées correctement et que l’exécution n’affiche plus un OK | 0 passed trompeur.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

stale

Summary

I am encountering an issue when running specific scenarios with the --grep flag. Specifically, when using npx codeceptjs run --grep "Featurename: Scenarioname", node assertions like assert.equal(1,2) are not being processed correctly and test failures are silent. However, running the same test with npx codeceptjs run --grep "Scenarioname" works as expected. Since a couple of versions CodeceptJS gives the first command as a suggestion if no matching scenario was found for a test run:

No tests found by pattern: /Featurename: Scenarioname_misspelled/
Maybe you wanted to run one of these tests?
...
To run the first test use the following command:
npx codeceptjs run --debug --grep "Featurename: Scenarioname "

This issue leads to assertions seemingly passing, and the test run result shows a green OK | 0 passed, despite a failure condition and the test run itself being aborted correctly.
If a pattern is suggested for use, it should work as expected and handle failing assertions correctly, which in this case it does not.

Steps to Reproduce
  1. Define a Feature and Scenario Outline in a .feature file
  2. Add a step definition for the Scenario that contains a false node assertion in a .steps.ts file
  3. Run CodeceptJS with the full feature-scenario name as a filter:
    npx codeceptjs run --grep "Featurename: Scenarioname"
    If the assertion evaluates to a failure the test will silently pass, and the terminal will show OK | 0 passed even if the whole test should have failed.
  4. If the same test is run with just the scenario name filter:
    npx codeceptjs run --grep "Scenarioname"
    The test executes correctly, fails and prints FAIL | 0 passed, 1 failed.

Code Example

Feature File:
Feature: Billing

  As a user, I want to do billing calculations.

  Scenario Outline: Monthly <usecase>
    Given I am on page billing
    When I settle the bill
    Then I see that the number of billed items <billedItems> is correct

  Examples:
    | usecase | dateFrom   | dateTo         | billedItems |
    | Normal  | 2023-01-01| 2023-01-31  | 10                 |
   

Step Definition:

import assert from "node:assert"
....
Then("I see that the number of billed items {int} is correct", async (billedItems: number) => {
    assert.equal(billedItems, 10);  // Example check, should fail if numbers don't match
})

Expected Behavior

When running npx codeceptjs run --grep "Featurename: Scenarioname", the assertions should execute, and any failures should be properly tracked and printed by CodeceptJS.
The output should show either 1 failed or 1 passed, depending on the assertion and should not silently fail with 0 passed.

Environment

CodeceptJS version: 3.7.8
Node.js version: v25.9.0

Langage dominant
JavaScript
Étoiles
4.2k
Forks
756
Merge moyen
2 j 10 h
PR mergées (30 j)
18

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de codeceptjs/CodeceptJS

Toutes les issues de codeceptjs/CodeceptJS

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.