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

Notification

Icon
Error

NCrunch 5.1 Feedback
Jholbrouck
#1 Posted : Tuesday, March 5, 2024 9:45:53 AM(UTC)
Rank: Member

Groups: Registered
Joined: 11/15/2021(UTC)
Posts: 10
Location: Belgium

Thanks: 3 times
Was thanked: 5 time(s) in 4 post(s)
Hi, some feedback about NCrunch 5.1:

In Rider:
The Risk/Progress bar is not working, I can't get it to show.
RDI is showing popup information over wrong object (outlined too much to the left) (See image)

In VS2022/Rider:
This issue might be PEBCAK, but I found it a bit weird how the RDI overlay works when multiple tests cover a line. In the attached link you can see 2 images where there are a bunch of tests that go over a line of code. In the RDI overlay I am unable to select any other 'frame' or 'test', and only the test
where a property is null and skips the logic is shown in the RDI overlay. Only when I select a certain test and pick 'Show coverage for this test only' I see the expected RDI overlay. Is this how it is supposed to work? (See image)


About RDI:
I was wondering if it is possible to 'browse' the complex objects like you can when debugging. It seems like now the majority of my objects I can just see that it is 'an object of that type' without anything else. I don't like the idea of having to add ToString overrides everywhere so I can use the RDI overlay and actually see which objects are where. If it is not possible to for example browse complex objects, maybe it could be an idea to allow usage of the DebuggerDisplay attribute instead of ToString?


On a side note: yesterday for some reason in Rider ncrunch was unuseable, even on a tiny project with perhaps 20 files it took minutes to build and run tests, but that seems fixed now. Not sure what changed on my end (I did upgrade to NCrunch 5.1). I don't think I have any valuable information for why this was slow though.

Some imgur images to show some issues/clarify some questions:
https://imgur.com/a/5JT2Ujj
1 user thanked Jholbrouck for this useful post.
michaelkroes on 3/5/2024(UTC)
michaelkroes
#2 Posted : Tuesday, March 5, 2024 9:57:02 AM(UTC)
Rank: NCrunch Developer

Groups: Registered
Joined: 9/22/2017(UTC)
Posts: 306
Location: Netherlands

Thanks: 138 times
Was thanked: 73 time(s) in 69 post(s)
Thanks for taking the time to test and provide feedback.

Jholbrouck;17073 wrote:
Hi, some feedback about NCrunch 5.1:

In Rider:
The Risk/Progress bar is not working, I can't get it to show.


This is on our backlog to fix.

Jholbrouck;17073 wrote:
Hi, some feedback about NCrunch 5.1:

In Rider:
RDI is showing popup information over wrong object (outlined too much to the left) (See image)


This is caused by Rider adding labels to parameters. There's a trade off in performance here in getting it right and getting it fast. We've got it on the backlog to work out a good solution for this.

Jholbrouck;17073 wrote:
Hi, some feedback about NCrunch 5.1:
On a side note: yesterday for some reason in Rider ncrunch was unuseable, even on a tiny project with perhaps 20 files it took minutes to build and run tests, but that seems fixed now. Not sure what changed on my end (I did upgrade to NCrunch 5.1). I don't think I have any valuable information for why this was slow though.


This is "good" to hear. I'm happy it's working much better now, sorry it wasn't as good yesterday. 5.1 included huge performance improvements based on earlier user feedback and should be much faster. I'm happy it's working better now.

Remco will respond on the RDI comments.
1 user thanked michaelkroes for this useful post.
Jholbrouck on 3/5/2024(UTC)
Remco
#3 Posted : Tuesday, March 5, 2024 10:38:30 AM(UTC)
Rank: NCrunch Developer

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

Thanks: 964 times
Was thanked: 1296 time(s) in 1202 post(s)
Hi, thanks for your feedback.

Quote:

About RDI:
I was wondering if it is possible to 'browse' the complex objects like you can when debugging. It seems like now the majority of my objects I can just see that it is 'an object of that type' without anything else. I don't like the idea of having to add ToString overrides everywhere so I can use the RDI overlay and actually see which objects are where. If it is not possible to for example browse complex objects, maybe it could be an idea to allow usage of the DebuggerDisplay attribute instead of ToString?


This is planned. We needed to have a feature cut off that would let us release RDI, and proper support for complex types didn't quite make it in. We know how to do it, but it will take some engineering. The plan is to capture the state of complex type instances with their fields/properties, and possibly to span out through small object trees up to a configurable limit. We have capacity limits, so we likely can't capture everything, but we will definitely be doing better than just ToString.

Regarding the images you've posted:

As Michael has mentioned, under Rider we aren't yet properly considering the effect of the parameter names being popped up inside source lines. This messes with our column mapping. VS has an advantage here for the moment because we're able to use the code geometry to place the markers. We're looking at ways we can solve this under Rider.

The source you have in your ordered condition looks like it is executed once for the test you've opened the RDI frame on. Right now in RDI we have two ways to open frames:
1. Opened for just one test (left-click the scope bracket around the coverage markers). The overlay frameset will contain all the times the method was called by the test. The test itself is selected based on which one NCrunch thinks is most important at the time. It will prefer to use the one selected in the Tests Window, otherwise it will default to the first failing test, otherwise it will just get the first test covering the line.
2. Aggregated for ALL covering tests (right-click the scope bracket around the coverage markers). This will show all frames for all the covering tests. Based on your use-case, I think this is probably what you were after in this situation.

It's possible to be more selective about which test the frame is opened for by instead opening the test list by clicking on a coverage marker, then right clicking a test and opening the RDI overlay using the context menu.

As you've discovered, showing coverage for a specific test only is a good way to set the focus of the engine. When you do this, you'll only get frames for that test.

There are plans to allow you to aggregate for selected groups of tests, but we're not there yet.
1 user thanked Remco for this useful post.
Jholbrouck on 3/5/2024(UTC)
Jholbrouck
#4 Posted : Tuesday, March 5, 2024 10:48:27 AM(UTC)
Rank: Member

Groups: Registered
Joined: 11/15/2021(UTC)
Posts: 10
Location: Belgium

Thanks: 3 times
Was thanked: 5 time(s) in 4 post(s)
Thank you both for the quick responses.

I was indeed looking for the right click on the RDI bracket, I must've missed that!

I understand that after such a major release you wanted to get a product out, and so far it is looking good!

I'm looking forward to the upcoming improvements.
2 users thanked Jholbrouck for this useful post.
michaelkroes on 3/5/2024(UTC), Remco on 3/5/2024(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.050 seconds.
Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download