BDD skips tests in feature file if background fails in one test
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- javascript, playwright
- 领域
- testing-qa
调研方向
首先使用 Playwright 重现提供的 feature 文件,并检查 step_definitions/mock.steps.js 中的步骤。跟踪 BDD runner 如何处理两个场景之间失败的 Background;完成标准是,失败的 background 之后的场景会独立尝试,而不是被标记为跳过,并为此示例提供回归覆盖。
由索引模型根据 Issue 内容生成。
描述
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
- 主要语言
- JavaScript
- 星标
- 4.2k
- 派生
- 756
- 平均合并
- 2 天 9 小时
- 30 天内合并 PR
- 16
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
codeceptjs/CodeceptJS 的其他 Issue
-
stale
难度 2/5 1-3 小时 新手友好度 72/100
codeceptjs/CodeceptJS#5420 · 1 条评论 ·
-
stale
难度 2/5 1-3 小时 新手友好度 76/100
codeceptjs/CodeceptJS#5358 · 1 条评论 ·
-
stale
难度 2/5 1-3 小时 新手友好度 78/100
codeceptjs/CodeceptJS#4958 · 10 条评论 · 2 个 reaction ·
-
stale
难度 1/5 1 小时以内 新手友好度 72/100
codeceptjs/CodeceptJS#4778 · 3 条评论 ·
-
stale
难度 4/5 3-5 天 新手友好度 38/100
codeceptjs/CodeceptJS#5618 · 1 条评论 ·
查看 codeceptjs/CodeceptJS 的全部 Issue
相似的 Issue
-
ai-observability bug team/ai-observability
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 2/5 1-3 小时 新手友好度 68/100
AllTheMods/ATM-10-L#19 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
SignalK/n2k-signalk#345 ·
-
难度 2/5 1-3 小时 新手友好度 84/100
-
难度 1/5 1-3 小时 新手友好度 88/100
JuliaPluto/PlutoPlotly.jl#72 ·