From dd169ecd8ae44db2126bf073e2f041f80e9dbdb7 Mon Sep 17 00:00:00 2001 From: Egor Shulga Date: Fri, 22 Aug 2025 19:01:12 +0200 Subject: [PATCH 1/2] Support Reqnroll v3 --- .../Allure.Reqnroll.Tests.Samples.csproj | 6 +++--- Allure.Reqnroll.Tests/Integration/IntegrationTests.cs | 4 ++-- Allure.Reqnroll/Allure.Reqnroll.csproj | 2 +- Allure.Reqnroll/Events/HookFinishedEventHandler.cs | 2 -- .../SelectiveRun/TestPlanAwareTestRunner.cs | 11 ++++------- 5 files changed, 10 insertions(+), 15 deletions(-) diff --git a/Allure.Reqnroll.Tests.Samples/Allure.Reqnroll.Tests.Samples.csproj b/Allure.Reqnroll.Tests.Samples/Allure.Reqnroll.Tests.Samples.csproj index 3631ab4c..66de74c1 100644 --- a/Allure.Reqnroll.Tests.Samples/Allure.Reqnroll.Tests.Samples.csproj +++ b/Allure.Reqnroll.Tests.Samples/Allure.Reqnroll.Tests.Samples.csproj @@ -15,9 +15,9 @@ - - - + + + all diff --git a/Allure.Reqnroll.Tests/Integration/IntegrationTests.cs b/Allure.Reqnroll.Tests/Integration/IntegrationTests.cs index a1b23059..7f8d158a 100644 --- a/Allure.Reqnroll.Tests/Integration/IntegrationTests.cs +++ b/Allure.Reqnroll.Tests/Integration/IntegrationTests.cs @@ -274,12 +274,12 @@ static Dictionary> ParseFeatures(string featuresDir) { var children = parser.Parse(f.FullName).Feature.Children.ToList(); var scenarioOutlines = children.Where( - x => (x as dynamic).Examples.Length > 0 + x => (x as dynamic).Examples.Count > 0 ).ToList(); foreach (var s in scenarioOutlines) { var examplesCount = (s as dynamic).Examples[0] - .TableBody.Length; + .TableBody.Count; for (int i = 1; i < examplesCount; i++) { children.Add(s); diff --git a/Allure.Reqnroll/Allure.Reqnroll.csproj b/Allure.Reqnroll/Allure.Reqnroll.csproj index dd90a576..377d6e45 100644 --- a/Allure.Reqnroll/Allure.Reqnroll.csproj +++ b/Allure.Reqnroll/Allure.Reqnroll.csproj @@ -21,7 +21,7 @@ - + diff --git a/Allure.Reqnroll/Events/HookFinishedEventHandler.cs b/Allure.Reqnroll/Events/HookFinishedEventHandler.cs index 80d58c7c..a4b5c97d 100644 --- a/Allure.Reqnroll/Events/HookFinishedEventHandler.cs +++ b/Allure.Reqnroll/Events/HookFinishedEventHandler.cs @@ -52,8 +52,6 @@ void HandleEvent(HookFinishedEvent eventData) AllureReqnrollStateFacade.StartTestCase(); break; case HookType.AfterScenario: - AllureReqnrollStateFacade.StopContainer(); - break; case HookType.AfterFeature: AllureReqnrollStateFacade.StopContainer(); this.EnsureFeatureReported(eventData); diff --git a/Allure.Reqnroll/SelectiveRun/TestPlanAwareTestRunner.cs b/Allure.Reqnroll/SelectiveRun/TestPlanAwareTestRunner.cs index 68c21d9a..c6e3dd88 100644 --- a/Allure.Reqnroll/SelectiveRun/TestPlanAwareTestRunner.cs +++ b/Allure.Reqnroll/SelectiveRun/TestPlanAwareTestRunner.cs @@ -44,9 +44,6 @@ ITestRunner underlyingRunner this.underlyingRunner = underlyingRunner; } - public void InitializeTestRunner(string testWorkerId) => - this.underlyingRunner.InitializeTestRunner(testWorkerId); - public async Task OnTestRunStartAsync() => await this.underlyingRunner.OnTestRunStartAsync(); @@ -59,9 +56,9 @@ public async Task OnFeatureStartAsync(FeatureInfo featureInfo) => public async Task OnFeatureEndAsync() => await this.underlyingRunner.OnFeatureEndAsync(); - public void OnScenarioInitialize(ScenarioInfo scenarioInfo) + public void OnScenarioInitialize(ScenarioInfo scenarioInfo, RuleInfo ruleInfo) { - this.underlyingRunner.OnScenarioInitialize(scenarioInfo); + this.underlyingRunner.OnScenarioInitialize(scenarioInfo, ruleInfo); this.ApplyTestPlanToCurrentScenario(); } @@ -74,7 +71,7 @@ public async Task OnScenarioStartAsync() else { // This call will set the scenario's status to skipped. - this.SkipScenario(); + await this.SkipScenarioAsync(); // We're skipping scenarios not in the test plan using the unit // test framework's runtime API. Neither BeforeScenario nor @@ -91,7 +88,7 @@ public async Task CollectScenarioErrorsAsync() => public async Task OnScenarioEndAsync() => await this.underlyingRunner.OnScenarioEndAsync(); - public void SkipScenario() => this.underlyingRunner.SkipScenario(); + public async Task SkipScenarioAsync() => await this.underlyingRunner.SkipScenarioAsync(); public async Task GivenAsync( string text, From 647346fda12c3eb43c7db9505482c9f704a48b80 Mon Sep 17 00:00:00 2001 From: Egor Shulga Date: Thu, 25 Sep 2025 18:51:37 +0200 Subject: [PATCH 2/2] revert erroneous change --- Allure.Reqnroll/Events/HookFinishedEventHandler.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Allure.Reqnroll/Events/HookFinishedEventHandler.cs b/Allure.Reqnroll/Events/HookFinishedEventHandler.cs index a4b5c97d..80d58c7c 100644 --- a/Allure.Reqnroll/Events/HookFinishedEventHandler.cs +++ b/Allure.Reqnroll/Events/HookFinishedEventHandler.cs @@ -52,6 +52,8 @@ void HandleEvent(HookFinishedEvent eventData) AllureReqnrollStateFacade.StartTestCase(); break; case HookType.AfterScenario: + AllureReqnrollStateFacade.StopContainer(); + break; case HookType.AfterFeature: AllureReqnrollStateFacade.StopContainer(); this.EnsureFeatureReported(eventData);