I usually use NCrunch in the mode where it's always running all tests all the time, but in my current project, I have a lot of database tests, so I've told NCrunch to run only impacted tests automatically.
But occasionally I feel the need to do a sanity check by rerunning everything, so I click the "Resynchronise, rebuild and rerun all tests (Reset)" button.
Does this button really do what it appears to say?
I have the distinct impression from what I'm seeing (too-quick response; missing screen artifacts I'd expect) that when I'm in "Run only impacted tests" mode, that's what the reset button does too: It only runs the tests it thinks have been recently impacted.
I can still manually select all the tests and rerun them, but what's the point of the reset button, then?
Build/Test Issues
"Rerun all tests" doesn't seem to be rerunning all tests
Started by rlundy on 3,203 views
Remco NCrunch Developer
#12421
01 Jul 2018 23:22 UTC
Hi, thanks for posting!
The reset button completely turns off the engine and turns it back on again. It's basically the same as using the Disable then Enable menu options. Most of the time this button is only necessary if you need to resolve a problem that's appeared in the engine, like a de-sync. Over the years it's become less important as the product has matured and become more stable. Note that when the engine starts back up, it will only run tests according to your selected engine mode, so this won't cause it to run tests that aren't impacted.
The correct button for what you're trying to do is the 'Run all tests' button. This will throw ALL tests into the queue (regardless of their impact state) and will run them all. If you're working heavily in the impacted only mode, I do recommend using this button occasionally, especially if your code is making heavy use of reflection.
The reset button completely turns off the engine and turns it back on again. It's basically the same as using the Disable then Enable menu options. Most of the time this button is only necessary if you need to resolve a problem that's appeared in the engine, like a de-sync. Over the years it's become less important as the product has matured and become more stable. Note that when the engine starts back up, it will only run tests according to your selected engine mode, so this won't cause it to run tests that aren't impacted.
The correct button for what you're trying to do is the 'Run all tests' button. This will throw ALL tests into the queue (regardless of their impact state) and will run them all. If you're working heavily in the impacted only mode, I do recommend using this button occasionally, especially if your code is making heavy use of reflection.
Ah, OK, that's not what I expected, but that's good to know. Up till now I've been using the reset button as "reset everything and test everything" but it sounds like I don't need it after all.
I'll stick with the "run all tests" button and see how it goes.
I wonder if you might consider removing the "all" from that Reset description, since it doesn't always rerun "all" the tests?
I'll stick with the "run all tests" button and see how it goes.
I wonder if you might consider removing the "all" from that Reset description, since it doesn't always rerun "all" the tests?
Remco NCrunch Developer
#12430
04 Jul 2018 11:44 UTC
rlundy wrote:
I wonder if you might consider removing the "all" from that Reset description, since it doesn't always rerun "all" the tests?
That's a very good point. I'll see what I can do about this.
Post a reply
Log in to reply.