Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some Rider painpoints, and other things #620

Open
frankhaugen opened this issue Sep 24, 2024 · 8 comments
Open

Some Rider painpoints, and other things #620

frankhaugen opened this issue Sep 24, 2024 · 8 comments

Comments

@frankhaugen
Copy link

Hi, I have spent the weekend rewriting one of my work-projects to use TUnit instead of XUnit, and I have some experiences to share:

My setup:

JetBrains Rider 2024.2.5
Build #RD-242.22855.90, built on September 19, 2024
Runtime version: 21.0.3+13-b509.15 amd64 (JCEF 122.1.9)
Windows 11.0
.NET Core v8.0.4 x64 (Server GC)

Experiences:

  1. Over-all, I love it, the time to run tests is phenomenal compared to XUnit, the "hook in at any level" is awesome
  2. Double-clicking to navigate to test don't work, (right-click-> Jump to source and Show source, also don't work)
  3. Messages written to test-output, TestContext.Current.GetDefaultLogger().LogInformation("LOG ME!"); and await TestContext.Current.OutputWriter.WriteLineAsync("OUTPUT ME!");, don't get shown in actual test output after test finishes in Rider. What is outputted when running CLI. I Use the output of tests a lot
  4. await Assert.That(_this).IsNotNull(); is a little verbose, but Assert.IsNotNull(_this);, or _this.Should().NotBeNull();, aren't that different
  5. I miss fluent assertions, (saw your PR, so just an observation)

Suggestions:

  • Wrap Coverage and Reports in TUnit nugets, and leverage nuget to create the config needed with acceptable "defaults" for TUnit. Like you have all the modules for ModularPipelines, it would be nice to have defaults for e.g. DevOps

Thank you for making the effort creating this, and I hope you will continue. I'd offer to help, but for the next couple of months, I don't have the bandwidth 😞

@thomhurst
Copy link
Owner

Thanks very much! Appreciate it :)

I believe 2 and 3 are things for Jetbrains to fix.

Go to source works in Visual Studio, so the data is there, I just don't think Rider is using it.

And the test output window I think still hasn't been developed yet, as the testing platform is still very new. They recently added standard output and standard error values, which I have set. I think (but not 100%) that that should drive the test output window in IDEs but the IDE itself will have to look at that value and implement it.

@SaschaBa
Copy link

@frankhaugen your experience sounds great. I'm also thinking about to switch to TUnit.

If you write an issue for Rider, let it know me here and I will support it. Thanks.

@thomhurst
Copy link
Owner

@frankhaugen @SaschaBa I've raised issues with Jetbrains:

Test output: https://youtrack.jetbrains.com/issue/RIDER-117847/Testing-Platform-Test-Output-not-showing-in-IDE
Jump to source: https://youtrack.jetbrains.com/issue/RIDER-117848/Testing-Platform-Navigate-to-test-does-not-work

@SaschaBa
Copy link

@thomhurst wow, you are very fast. I voted both issues.

@thomhurst
Copy link
Owner

@frankhaugen out of curiosity what was the difference in speed between xUnit and TUnit for you?

@thomhurst
Copy link
Owner

@thomhurst wow, you are very fast. I voted both issues.

Looks like they've both been assigned so hopefully we'll see a fix soon!

@SaschaBa
Copy link

:-) yes, and they got both a high priority

@frankhaugen
Copy link
Author

@frankhaugen out of curiosity what was the difference in speed between xUnit and TUnit for you?

So I did some really fiddly measuring and I got 13,5 % quicker over 50 runs. I feel it was quicker. I wouldn't count those numbers as "quality assured" but I ran devops pipline on the code before the rewrite and the one after 100 times, (50 of each type).

I feel on my computer its much quicker than 13%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants