Silent Failures of Assertions When Using --grep with Full Feature-Scenario Name
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
- Stack technique
- javascript, node.js, typescript
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
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
- Define a Feature and Scenario Outline in a .feature file
- Add a step definition for the Scenario that contains a false node assertion in a .steps.ts file
- 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 showOK | 0 passedeven if the whole test should have failed. - If the same test is run with just the scenario name filter:
npx codeceptjs run --grep "Scenarioname"
The test executes correctly, fails and printsFAIL | 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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de codeceptjs/CodeceptJS
-
stale
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
codeceptjs/CodeceptJS#5420 · 1 commentaire ·
-
stale
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
codeceptjs/CodeceptJS#5358 · 1 commentaire ·
-
stale
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
codeceptjs/CodeceptJS#4958 · 10 commentaires · 2 réactions ·
-
stale
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
codeceptjs/CodeceptJS#4778 · 3 commentaires ·
-
stale
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
codeceptjs/CodeceptJS#5618 · 1 commentaire ·
Toutes les issues de codeceptjs/CodeceptJS
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
TheOdinProject/curriculum#31423 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
WGBH-MLA/dream-aapb#69 ·
-
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
Mintplex-Labs/anything-llm#6490 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
openlayers/ol-cesium#1364 ·