TestCentric / testcentric-gui

TestCentric GUI Runner for NUnit
Other
67 stars 30 forks source link

TestCentric does not load NUnit4's NUnitLite test binaries #1076

Closed michaelkauflin closed 2 months ago

michaelkauflin commented 3 months ago

Describe the bug

We use NUnitLite to run our tests and updated NUnit to version 4. Loading test binaries targeting NUnit 3 work fine, but NUnit 4 does not.

A clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. Open TestCentric
  2. Open test file using NUnit 4's NUnitLite
  3. No suitable tests found in 'C:\dev\c2.m\bin\Cocoon.IntegrationTests.Internal.Tests.exe'. Either assembly contains no tests or proper test driver has not been found.

Expected behavior Test loads

Screenshot image

on the left side we use NUnit 3 and on the right side NUnit 4

Environment (please complete the following information):

mattsmith321 commented 2 months ago

I'm also running into a similar issue. Running TestCentric v1.6.4 installed from Chocolatey. Test application is built with the following:

  <package id="NUnit" version="4.1.0" targetFramework="net481" />
  <package id="NUnit3TestAdapter" version="4.5.0" targetFramework="net481" />

Probably doesn't help that we are targeting .NET Framework...

CharliePoole commented 2 months ago

@mattsmith321 If you're running under TestCentric, why the reference to NUnit3TestAdapter? This could cause a version conflict, as TC version 1 uses the NUnit engine and so does the adapter.

mattsmith321 commented 2 months ago

@mattsmith321 If you're running under TestCentric, why the reference to NUnit3TestAdapter? This could cause a version conflict, as TC version 1 uses the NUnit engine and so does the adapter.

Fair question. The first thing to call out is that our test app is essentially used to smoke test our various apps using Selenium across all of our environments, branches, sites, and servers. So it isn't the traditional approach of just unit testing. So, those of that are currently using our test app are running it out of Visual Studio Test Explorer. It is useful for the on-call to use the categories and traits to target specific endpoints quickly. Right now, we are also working to embed the test app in the release pipeline for our applications and call it from the NUnit3 console app. This would call against a Selenium Grid instance. The console runner currently works, as well as the CLI from dotnet test.

The reason why I was looking at TestCentric was because I was hoping to have a UI that the BAs and our hands-on management could use to also help troubleshoot/verify endpoints. So we aren't currently using TestCentric and it isn't a deal-breaker for me, but I do remember back in the day having the NUnit UI runner and always thought is was cool that, in theory, some of our non-tech folks could do some testing/verification. So, I just wanted to throw a note on this issue to say that I was also running into an issue.

However, in my many months getting this all stood up, I recognize that you are the expert when it comes to NUnit and I'm just dipping my toes in it again (after a decade away). So, I'm happy to take any advice or recommendations you might suggest.

Oh, and thanks for all you've done for the community over the years!

CharliePoole commented 2 months ago

@mattsmith321 In that case, try out the latest 2.0 beta, which doesn't use the NUnit engine and won't conflict with the adapter. Always assuming that is the source of the problem, of course. A quick test should tell you.

mattsmith321 commented 2 months ago

Thanks @CharliePoole. That worked. I am now able to load, view, and run the test cases. That meets my needs for now. I'm not seeing any category attributes but I'll save that for another issue if I decided that the UI is a priority for us.

CharliePoole commented 2 months ago

TC V2 recognizes NUnit V4 but TC V1 does not. Should be an easy fix.

CharliePoole commented 2 months ago

This is on hold until we add a .NET 6.0 driver.