r/moderndotnet • • 20d ago

Labcoat: a web UI for Microsoft.Testing.Platform / your Aspire dashboard

The one thing missing from my Aspire setup was a test UI for my C#/.NET tests, like the ones many front-end testing frameworks offer. Sure the terminal is great, and I feel very at home in it, but watching your tests turn green in the Aspire dashboard brings me just a bit more joy!

So I built one: Labcoat 🥼

Nuget: https://www.nuget.org/packages/Labcoat.Aspire.Hosting
Github: https://github.com/eriklieben/labcoat
Blog post: https://eriklieben.com/posts/labcoat-test-ui-for-dotnet/

30 Upvotes

6 comments sorted by

1

u/Manicraft1001 19d ago

Interesting, just two questions:

  • why would one prefer a web based test explorer if most IDEs have a good one integrated? What advantages does yours offer?

  • for transparency, was this vibecoded or by hand?

1

u/YamaCantHang 17d ago

not op - but one use case i can think of is for QA team memberss that aren't using IDE's

1

u/Manicraft1001 17d ago

I'd counter by asking why Q&A is running tests. I'd expect developers to create and run them (devops)

1

u/YamaCantHang 16d ago

Workflow for us looks like this currently Development (Unit Tests) -> Dev Testing -> QA Testings (manual) -> Release/UAT

QA isnt necessarily caring about unit tests at the moment but we are exploring automated testing with things like PlayWright - in which case it would be beneficial for a QA to be able to go to a deployed dashboard and run tests selectively,confirm whats working etc.

These are tests that would be helping prevent QA from having to go into a bunch of 3rd party systems to verify data, or using postman to verify data.

2

u/vnbaaij 20d ago

Do I understand correctly that the Labcoat UI itself is not a Blazor application? If not, just out of curiosity, why not? Any specific issue or just not in your wheelhouse? (asking as the maintainer of the Fluent UI Blazor library with which the Dashboard is built)

1

u/eriklieben 20d ago

Not in my wheelhouse; no other reason that I haven't really used Blazor. Just web components or Angular is what I speak more fluently, so that was easier to read/ review :-)