allure-framework / allure-framework/allure-java
Using steps in testNG @Factory throw error
- 主要语言
- Java
- 星标
- 376
- 派生
- 240
- 平均合并
- 1 天 7 小时
- 30 天内合并 PR
- 45
描述
#### I'm submitting a ...
- [x] bug report
#### What is the current behavior?
#### If you use the steps in the factory, the allures writes an error
```
18:34:28.258 ERROR io.qameta.allure.AllureLifecycle Could not start step: no test case running
18:34:28.259 ERROR io.qameta.allure.AllureLifecycle Could not start step: no test case running
18:34:28.702 ERROR io.qameta.allure.AllureLifecycle Could not add attachment: no test is running
18:34:30.011 ERROR io.qameta.allure.AllureLifecycle Could not add attachment: no test is running
18:34:30.022 ERROR io.qameta.allure.AllureLifecycle Could not update step: no step running
18:34:30.022 ERROR io.qameta.allure.AllureLifecycle Could not stop step: no step running
18:34:30.022 ERROR io.qameta.allure.AllureLifecycle Could not update step: no step running
18:34:30.022 ERROR io.qameta.allure.AllureLifecycle Could not stop step: no step running
```
#### Example:
```
public class CountersTestFactory {
@Factory
public synchronized Object[] factoryMethod() throws Exception {
// next two lines it @Steps
Campaign campaign = CampaignSteps.createDefault(user.get().getApiKey());
SocketIOSteps.waitForcampaignCollected(campaignId);
assertThat(
"campaign",
CampaignDataSteps.getList(user.get().getApiKey(), campaign.id).result.size(),
greaterThan(0));
return new Object[] {
new CountersCurrentTest(
user.get().getApiKey(),
campaign.id,
DateUtils.getTimestampMinusDays(90),
DateUtils.getTimestamp()),
}
```
#### What is the expected behavior?
@ Step displayed annotation text
#### Please tell us about your environment:
| Allure version | 2.12.1 |
| --- | --- |
| Test framework | testng@6.9.10 |
| Allure integration | allure-testng@2.12.1 |
| Generate report using | allure-maven@2.8 |
#### Other information
[//]: # (
. e.g. detailed explanation, stacktraces, related issues, suggestions
. how to fix, links for us to have more context, eg. Stackoverflow, Gitter etc
)
贡献指南
调研方向
首先,使用列出的 Allure 和 TestNG 版本以及 @Steps 调用,复现所示 TestNG @Factory 方法中的失败。跟踪 factoryMethod 周围的生命周期,并验证预期的步骤文本能够显示,且不会出现报告中的 no-test 或 no-step 错误。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- testing
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 30/100