You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EngineSetting.SkipNonTestAssemblies currently only skips assemblies marked with the NUnit 3 framework's [NonTestAssembly] attribute. For v4, I propose that we should remove the requirement for [NonTestAssembly].
The new behaviour of --skipnontestassemblies should be that any assemblies passed into the engine in which no valid tests can be found are passed over silently. Assemblies would be designated in the xml as "Skipped" rather than "Invalid". As current behaviour, the console exit code would be unaffected by skipped assemblies.
Reason for change in behaviour
This change would make the feature better match what seems to be common user expectation
It would be an improvement for use cases such as passing in a .NET Solution file, which may likely also contain non-test projects a user would not wish to add the [NonTestAssembly] to
It better matches the goal of the NUnit Engine being framework-independent - it allows greater use of a feature which is only currently usable with the v3 engine.
It opens up the possibility of using wildcards to discover test assemblies, as commonly used in runners like TeamCity and Azure Devops.
Possible failure cases caused by change
As far as I can think, this would be a safe change to make, there is no way existing test runs could silently being to fail/not run.
The risk (and motivation for the original implementation behaviour) is that we should have a belt/braces solution to skipping tests assemblies, as it could be too easy for a user to inadvertently skip test assemblies they were expecting to run. My personal opinion is that this is unnecessary, and a user changing the configuration of a test run which uses this flag should be doing sufficient checking to ensure that test assemblies are being ran as they expected.
Change proposed
EngineSetting.SkipNonTestAssembliescurrently only skips assemblies marked with the NUnit 3 framework's [NonTestAssembly] attribute. For v4, I propose that we should remove the requirement for[NonTestAssembly].The new behaviour of --skipnontestassemblies should be that any assemblies passed into the engine in which no valid tests can be found are passed over silently. Assemblies would be designated in the xml as "Skipped" rather than "Invalid". As current behaviour, the console exit code would be unaffected by skipped assemblies.
Reason for change in behaviour
[NonTestAssembly]toPossible failure cases caused by change
As far as I can think, this would be a safe change to make, there is no way existing test runs could silently being to fail/not run.
The risk (and motivation for the original implementation behaviour) is that we should have a belt/braces solution to skipping tests assemblies, as it could be too easy for a user to inadvertently skip test assemblies they were expecting to run. My personal opinion is that this is unnecessary, and a user changing the configuration of a test run which uses this flag should be doing sufficient checking to ensure that test assemblies are being ran as they expected.