This maybe a misunderstanding in how NCrunch either works or displays it's test counts...
I've got a series of categories on some XUnit tests (via traits) at the assembly level.
Unit
Integration
Environment (these rely on having things like the CosmosDb and Azure Storage emulators running)
I'm trying to duplicate the 'Run impacted tests automatically, others manually` engine mode, but supplementing it with a `Tests to execute on this machine` filter of `does not have category = Environment`.
Initially, the previous failed test runs still displayed in the list which was confusing. I'd have thought that their state would have reset to 'ignore' which would have been hidden.
Trying various things, including
The restart NCrunch and rebuild button on the toolbar
Manually deleting the solution's NCrunch cache folder
I eventually cleared them using the `Reset selected test status` under the `Advanced` context menu.
So now the ignored (Trait - Category=Environment) tests don't show... however, the count of tests is still displaying the total number of tests in the solution (with the message `no tests ignored`), but the actual ignored test count as `queued for execution` which never changes.
Thanks for posting. The issue here is one of clarity over two configuration settings:
Tests to execute on this machine controls which tests are allowed to be executed on your computer. Usually this is used in the context of a grid of machines being available, where some tests might be runnable on some grid nodes but not on others. In the context of a single machine being used (i.e. your dev machine), the setting doesn't make much sense as it will just leave tests with an unexecuted status that cannot be updated until the filter situation changes.
Tests to execute automatically controls which tests NCrunch will try to execute automatically. Tests that do not pass this filter can still be run manually on the machine.
Neither of these settings are intended to affect test visibility or the overall test count. A test that does not match either filter will not be considered ignored. Ignored tests must be specified manually using NCrunch's UI options and we have no configuration setting that can specify them using a filter.
Best to create a new engine mode, setting this to exist at Solution/Shared, then in this engine mode override the Tests to execute automatically setting to exclude your Environment tests in the filter.
This engine mode is then shared via source control and could be your primary way of working with the codebase across the team.