From b992c4ebe23740116869f5b2966fed9578d33471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20=C3=96rn?= Date: Wed, 8 Oct 2025 12:48:10 +0200 Subject: [PATCH 1/2] Fixes source navigation in test explorer when using TUnit Enhanced the `SetTestMethod` method in `TUnitTestGeneratorProvider` to include `SourceFilePath` and `linenumber` as additional parameters when adding the `TEST_ATTR` attribute. This makes TUnit override the usual behaviour. Updated `UnitTestMethodGenerator` to populate `generationContext.CustomData["linenumber"]` with the scenario definition's line number for both row tests and standard tests. These changes improve test traceability by embedding source file path and line number metadata into generated test methods. #872 --- .../TUnitTestGeneratorProvider.cs | 2 +- Reqnroll.Generator/Generation/UnitTestMethodGenerator.cs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Plugins/Reqnroll.TUnit.Generator.ReqnrollPlugin/TUnitTestGeneratorProvider.cs b/Plugins/Reqnroll.TUnit.Generator.ReqnrollPlugin/TUnitTestGeneratorProvider.cs index 7faaf7c28..fe15bbde9 100644 --- a/Plugins/Reqnroll.TUnit.Generator.ReqnrollPlugin/TUnitTestGeneratorProvider.cs +++ b/Plugins/Reqnroll.TUnit.Generator.ReqnrollPlugin/TUnitTestGeneratorProvider.cs @@ -148,7 +148,7 @@ public void SetTestCleanupMethod(TestClassGenerationContext generationContext) public void SetTestMethod(TestClassGenerationContext generationContext, CodeMemberMethod testMethod, string friendlyTestName) { // Mark the method as a test and add a friendly name. - CodeDomHelper.AddAttribute(testMethod, TEST_ATTR); + CodeDomHelper.AddAttribute(testMethod, TEST_ATTR, generationContext.Document.SourceFilePath, generationContext.CustomData["linenumber"]); CodeDomHelper.AddAttribute(testMethod, DISPLAYNAME_ATTR, friendlyTestName); } diff --git a/Reqnroll.Generator/Generation/UnitTestMethodGenerator.cs b/Reqnroll.Generator/Generation/UnitTestMethodGenerator.cs index fb82d3573..df429b6bd 100644 --- a/Reqnroll.Generator/Generation/UnitTestMethodGenerator.cs +++ b/Reqnroll.Generator/Generation/UnitTestMethodGenerator.cs @@ -581,13 +581,14 @@ private void SetupTestMethod( { friendlyTestName = $"{scenarioDefinition.Name}: {variantName}"; } - if (rowTest) { + generationContext.CustomData["linenumber"] = scenarioDefinition.Location.Line; _unitTestGeneratorProvider.SetRowTest(generationContext, testMethod, friendlyTestName); } else { + generationContext.CustomData["linenumber"] = scenarioDefinition.Location.Line; _unitTestGeneratorProvider.SetTestMethod(generationContext, testMethod, friendlyTestName); } From f38ddb3fa1ecdca67959b532575b04a4193d6930 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20=C3=96rn?= Date: Thu, 9 Oct 2025 12:43:10 +0200 Subject: [PATCH 2/2] Bumps TUnit to v0.67.10 --- .../Reqnroll.TUnit.nuspec | 4 ++-- .../Reqnroll.TUnit.ReqnrollPlugin.csproj | 2 +- .../Reqnroll.TestProjectGenerator/ProjectBuilder.cs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Plugins/Reqnroll.TUnit.Generator.ReqnrollPlugin/Reqnroll.TUnit.nuspec b/Plugins/Reqnroll.TUnit.Generator.ReqnrollPlugin/Reqnroll.TUnit.nuspec index 067f0f7f7..351c46f82 100644 --- a/Plugins/Reqnroll.TUnit.Generator.ReqnrollPlugin/Reqnroll.TUnit.nuspec +++ b/Plugins/Reqnroll.TUnit.Generator.ReqnrollPlugin/Reqnroll.TUnit.nuspec @@ -6,7 +6,7 @@ Reqnroll.TUnit $author$ $owner$ - Package to use Reqnroll with TUnit 0.55.23 and later. $summary$ + Package to use Reqnroll with TUnit 0.67.10 and later. $summary$ en-US https://www.reqnroll.net @@ -19,7 +19,7 @@ - + diff --git a/Plugins/Reqnroll.TUnit.ReqnrollPlugin/Reqnroll.TUnit.ReqnrollPlugin.csproj b/Plugins/Reqnroll.TUnit.ReqnrollPlugin/Reqnroll.TUnit.ReqnrollPlugin.csproj index a20cad171..f568608f6 100644 --- a/Plugins/Reqnroll.TUnit.ReqnrollPlugin/Reqnroll.TUnit.ReqnrollPlugin.csproj +++ b/Plugins/Reqnroll.TUnit.ReqnrollPlugin/Reqnroll.TUnit.ReqnrollPlugin.csproj @@ -8,7 +8,7 @@ - + diff --git a/Tests/TestProjectGenerator/Reqnroll.TestProjectGenerator/ProjectBuilder.cs b/Tests/TestProjectGenerator/Reqnroll.TestProjectGenerator/ProjectBuilder.cs index e3dca8027..0d52fadc0 100644 --- a/Tests/TestProjectGenerator/Reqnroll.TestProjectGenerator/ProjectBuilder.cs +++ b/Tests/TestProjectGenerator/Reqnroll.TestProjectGenerator/ProjectBuilder.cs @@ -20,7 +20,7 @@ public class ProjectBuilder public const string NUnit4TestAdapterPackageName = "NUnit3TestAdapter"; public const string NUnit4TestAdapterPackageVersion = "4.6.0"; public const string TUnitPackageName = "TUnit"; - public const string TUnitPackageVersion = "0.55.23"; + public const string TUnitPackageVersion = "0.67.10"; private const string XUnitPackageVersion = "2.8.1"; private const string MSTestPackageVersion = "2.2.10"; private const string XUnit3PackageVersion = "2.0.0"; @@ -378,7 +378,7 @@ private void ConfigureTUnit() TUnitPackageName, TUnitPackageVersion, new NuGetPackageAssembly( - "TUnit, Version=0.55.23, Culture=neutral, PublicKeyToken=b8d4030011dbd70c", + "TUnit, Version=0.67.10, Culture=neutral, PublicKeyToken=b8d4030011dbd70c", "netstandard2.0\\TUnit.dll") ); _project.AddNuGetPackage(