BDD skips tests in feature file if background fails in one test
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- javascript, playwright
- Domain
- testing-qa
Research direction
Start by reproducing the supplied feature file with Playwright and review the steps in step_definitions/mock.steps.js. Trace how the BDD runner handles a failed Background between the two scenarios; done means scenarios after a failed background are attempted independently rather than marked skipped, with regression coverage for this example.
Written by the indexing model from the issue text.
Description
What are you trying to achieve?
Run a feature file without failing fast and skipping tests if background fails.
What do you get instead?
If you have a feature file with 5 scenarios and a Background. If a background step fails on scenario 3, then scenario 4 and 5 are marked as skipped. As we know sometimes a step fails because of timing issues or a page fails to load, this doesnt mean the background will fail each time. Isn't a Background treated as a beforeEach in mocha anyway? So it should run independently for each scenario.
Provide console output if related. Use
--verbosemode for more details.
CodeceptJS v3.0.7
Helpers: Playwright, MochiavelliHelper, PlaywrightHelper, ChaiWrapper
Plugins:
Failing Background --
[1] Starting recording promises
› [Session] Starting singleton browser session
Search for something @test1
Given I am on page "https://google.com"
I am on page "https://google.com"
› [Browser:Error]
› [Browser:Error]
› [Browser:Error]
Then I should see "Fail test here"
I see "Fail test here"
[1] Error | Error
[1] Error | Error
[1] Starting <teardown> session
[1] <teardown> Stopping recording promises
✖ FAILED in 23592ms
[2] Starting recording promises
› [Session] cleaning cookies and localStorage
S Search for something else @test2
-- FAILURES:
1) Failing Background
"before each" hook: Before for "Search for something @test1":
expected web application to include "Fail test here"
+ expected - actual
-About
-Store
-GmailImages
-Sign in
-
-
-
-Celebrating the diverse stories of Asian and Pacific Islander communities
-Advertising
-Business
---( 6 lines more )---
+Fail test here
Scenario Steps:
- I.see("Fail test here") at ./step_definitions/mock.steps.js:148:5
- I.amOnPage("https://google.com") at ./step_definitions/mock.steps.js:144:5
FAIL | 0 passed, 1 failed, 1 skipped // 24s
Provide test source code if related
steps:
Given('I am on page {string}', (url) => {
I.amOnPage(url);
});
Then('I should see {string}', (text) => {
I.see(text);
});
When('I fill in {string} in the search field', (text) => {
I.fillField('.gLFyf.gsfi', text);
I.pressKey('Enter');
});
feature file
Feature: Failing Background
Background: Test
Given I am on page "https://google.com"
Then I should see "Fail test here"
@test1
Scenario: Search for something
When I fill in "Test" in the search field
@test2
Scenario: Search for something else
When I fill in "Google" in the search field
Details
- CodeceptJS version: 3.0.7
- NodeJS Version: v14.15.1
- Operating System: osx 10.15
- playwright 1.10
- Dominant language
- JavaScript
- Stars
- 4.2k
- Forks
- 756
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 16
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from codeceptjs/CodeceptJS
-
stale
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
codeceptjs/CodeceptJS#5420 · 1 comment ·
-
stale
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
codeceptjs/CodeceptJS#5358 · 1 comment ·
-
stale
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
codeceptjs/CodeceptJS#4958 · 10 comments · 2 reactions ·
-
stale
Difficulty 1/5 Under an hour Newbie friendliness 72/100
codeceptjs/CodeceptJS#4778 · 3 comments ·
-
stale
Difficulty 4/5 3-5 days Newbie friendliness 38/100
codeceptjs/CodeceptJS#5618 · 1 comment ·
All issues in codeceptjs/CodeceptJS
Similar issues
-
Bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Automattic/safe-publish#594 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
dream-num/dsh-univer-office#104 ·
-
comp/dashboard invalid P3
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
NousResearch/hermes-agent#121143 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
avniproject/avni-webapp#1811 ·
-
area/auroraboot area/webui bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100