Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

No longer works with ReqnRoll
JimCooper
#1 Posted : Tuesday, January 6, 2026 10:59:18 AM(UTC)
Rank: Newbie

Groups: Registered
Joined: 1/6/2026(UTC)
Posts: 3
Location: Netherlands

No coverage dots show in the Feature editing window. it is not possible to move from source code under test to a Scenario using the context menu of source under test
Remco
#2 Posted : Wednesday, January 7, 2026 6:39:59 AM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,467

Thanks: 1014 times
Was thanked: 1360 time(s) in 1263 post(s)
JimCooper;18552 wrote:
No coverage dots show in the Feature editing window. it is not possible to move from source code under test to a Scenario using the context menu of source under test


Hi, thanks for sharing this issue.

Was this previously working correctly for you? If so, do you know what triggered it to stop working? Was it an update of ReqnRoll?
JimCooper
#3 Posted : Wednesday, January 7, 2026 8:31:07 AM(UTC)
Rank: Newbie

Groups: Registered
Joined: 1/6/2026(UTC)
Posts: 3
Location: Netherlands

Yes, it's been working for years, until the latest update of RR. The editor window there seems to have changed
Remco
#4 Posted : Thursday, January 8, 2026 12:56:41 AM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,467

Thanks: 1014 times
Was thanked: 1360 time(s) in 1263 post(s)
gasparnagy
#5 Posted : Monday, January 12, 2026 5:05:30 PM(UTC)
Rank: Member

Groups: Registered
Joined: 2/24/2023(UTC)
Posts: 10
Location: Hungary

Thanks: 2 times
Thx Remco .

I can confirm that the linked v5.21.0.3 solves the problems with Reqnroll v3.3: the necessary assemblies are copied to the workspace automatically and the coverage data is shown in the feature files. At least "on my machine", with VS2026.

I think JimCooper had slightly different problems, so let's wait his confirmation as well.

(I did not expect that our changes will impact NCrunch. Can you comment on which change was problematic (if simply explainable)? Is there a way we could prevent such integration issues with NCrunch on the Reqnroll side?)
Remco
#6 Posted : Monday, January 12, 2026 10:53:40 PM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,467

Thanks: 1014 times
Was thanked: 1360 time(s) in 1263 post(s)
Excellent, thanks for confirming this :)

gasparnagy;18561 wrote:

(I did not expect that our changes will impact NCrunch. Can you comment on which change was problematic (if simply explainable)? Is there a way we could prevent such integration issues with NCrunch on the Reqnroll side?)


I'd need to review the changes to Reqnroll in more detail to understand fully, but I believe the problem with not finding dependencies was likely caused by changes to how Reqnroll finds its dependencies. The IoC system in place seems to expect the dependencies to be located in the build output directory, which is something that NCrunch doesn't do by default as it builds the test environment across multiple paths. It's possible this may have occurred because the dependencies are loaded by Reqnroll manually (i.e. through Assembly.LoadFrom or something similar), which would by-pass the normal resolution steps in the platform (which NCrunch hooks into). So this is kind of one of NCrunch's 'rules' that can cause problems with some toolsets. To solve it, NCrunch just copies Reqnroll.* to the output directory now, so if you introduce a similar library, it should just work fine as long as the namespace is consistent.

The loss of coverage for feature files is something that's less clear to me, as I couldn't find the change responsible for causing this. NCrunch needs to discriminate between 'content' files and 'source' files, and it does this by the names of build items specified from MSBuild. For example, a build item of type 'Compile' is handled differently to a build item of 'None' or 'Content'. For a file to have coverage markers, it needs to be considered as compiled source code. Something must have changed the build item type of the feature file as it was represented by MSBuild. To avoid this being a problem again, I've added a manual override in our Reqnroll adapter that forcefully considers any file with a .feature extension to be source code, so it basically shouldn't matter anymore.


JimCooper
#9 Posted : Tuesday, January 13, 2026 10:29:50 AM(UTC)
Rank: Newbie

Groups: Registered
Joined: 1/6/2026(UTC)
Posts: 3
Location: Netherlands

Yep, that seems to have fixed my issues. Thanks for the quick work :-)
gasparnagy
#7 Posted : Tuesday, January 13, 2026 11:08:56 AM(UTC)
Rank: Member

Groups: Registered
Joined: 2/24/2023(UTC)
Posts: 10
Location: Hungary

Thanks: 2 times
Remco;18562 wrote:

I'd need to review the changes to Reqnroll in more detail to understand fully, but I believe the problem with not finding dependencies was likely caused by changes to how Reqnroll finds its dependencies. [...] To solve it, NCrunch just copies Reqnroll.* to the output directory now, so if you introduce a similar library, it should just work fine as long as the namespace is consistent.


When I checked the workspace I have realized that that's the issue (and the copy all referenced assemblies setting was working as a temporary fix). The strange thing is that this Reqnroll behavior was not changed. I have checked how NCrunch worked with earlier Reqnroll versions and it seemed to have copied the "Reqnroll.MsTest.ReqnrollPlugin" ("Reqnroll.NUnit.ReqnrollPlugin", etc.) assemblies to the output folder (but only that assembly!). So this is why it worked so far. I don't know how it knew earlier that that is the assembly that needs to be copied. We have changed the packaging of the NuGet packages. Is it possible that earlier our NuGet packages signaled somehow to NCrunch that these need to be copied and we don't signal this anymore?


Anyhow... Copying Reqnroll.* is probably a good solution. It could be further optimized if we want. For most of the cases, it would be enough to copy the "Reqnroll.*.ReqnrollPlugin.dll" files, but I don't think that optimization would make much difference.

What we have also changed in this version was to improve the "incremental build" support. Now we only regenerate the .featrue.cs files when really necessary (e.g. when the related .feature file changes). I don't know exactly how NCrunch works from this perspective. Does it "reuse" the existing workspace folders for further builds, so that this optimization can be used?
Remco
#8 Posted : Tuesday, January 13, 2026 10:34:22 PM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,467

Thanks: 1014 times
Was thanked: 1360 time(s) in 1263 post(s)
gasparnagy;18565 wrote:

When I checked the workspace I have realized that that's the issue (and the copy all referenced assemblies setting was working as a temporary fix). The strange thing is that this Reqnroll behavior was not changed. I have checked how NCrunch worked with earlier Reqnroll versions and it seemed to have copied the "Reqnroll.MsTest.ReqnrollPlugin" ("Reqnroll.NUnit.ReqnrollPlugin", etc.) assemblies to the output folder (but only that assembly!). So this is why it worked so far. I don't know how it knew earlier that that is the assembly that needs to be copied. We have changed the packaging of the NuGet packages. Is it possible that earlier our NuGet packages signaled somehow to NCrunch that these need to be copied and we don't signal this anymore?


Seems like it was probably working accidentally then. This could have been caused by just about any level in the toolset, so it was probably just waiting to break. Now that we're copying the files deliberately, I'm hoping we won't see this again. There is still a risk though if you introduce a reference to a non Reqnroll dependency binary and try to load this without using the implicit loading system in the platform (I think this risk is very small).

gasparnagy;18565 wrote:

What we have also changed in this version was to improve the "incremental build" support. Now we only regenerate the .featrue.cs files when really necessary (e.g. when the related .feature file changes). I don't know exactly how NCrunch works from this perspective. Does it "reuse" the existing workspace folders for further builds, so that this optimization can be used?


This may have had an unintentional affect on the item types used to represent the feature files inside MSBuild. Probably harmless for everything except NCrunch. But again, now that we're forcing them to be code files, we won't see this again unless you change the .feature extension to something else.

NCrunch does re-use old workspaces, so it will definitely make use of this optimization.
1 user thanked Remco for this useful post.
gasparnagy on 1/29/2026(UTC)
philippedargaud
#10 Posted : Wednesday, January 28, 2026 10:51:40 AM(UTC)
Rank: Newbie

Groups: Registered
Joined: 1/28/2026(UTC)
Posts: 1
Location: France

Thank you for sharing the fix and for actively following up on this issue.

On my side, this clearly matches the problem I am experiencing with ReqnRoll.
Do you have an estimate of when this fix is expected to be officially released through the standard NCrunch update channel?

This would help me decide whether I can wait for the official release or if I should temporarily deploy the interim build.
Remco
#11 Posted : Wednesday, January 28, 2026 10:54:58 AM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,467

Thanks: 1014 times
Was thanked: 1360 time(s) in 1263 post(s)
philippedargaud;18585 wrote:

Do you have an estimate of when this fix is expected to be officially released through the standard NCrunch update channel?

This would help me decide whether I can wait for the official release or if I should temporarily deploy the interim build.


This will be in the next official release, though it'll be a few weeks before v5.21 is out. The interim build should be very stable. I recommend updating to it immediately.

I'll note that right now the dev builds being published here on the forum usually have the same level of testing behind them as the official releases. Things are quite stable at the moment.
1 user thanked Remco for this useful post.
gasparnagy on 1/29/2026(UTC)
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.081 seconds.
Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download