I've got a bunch of MbUnit-based tests that run fine when run through R#, but when I try to run them through NCrunch a bunch of them are failing. The test classes are all subclasses of an abstract base class (which is indeed marked as abstract). In the base class, there is a virtual Setup() method defined (which is marked with [SetUp]) and then the actual test classes override Setup and also mark their overrides with the SetUp attribute. None of the code in the subclasses' overrides are getting called during the setup phase. If I change the method definition in a subclass to use new instead of override, the Setup method is discovered properly and runs just fine.
I've also tried a slightly different scenario, where the virtual method in the base class is NOT marked with [SetUp]. In that case, the SetUp method in the child class (the one with actual tests) is discovered and used properly. Also, if I change the name of the method in the child class so it's not an override of anything, it's discovered properly.
I realise this is kind of a weird setup, but it works in the standard test runners, just not in NCrunch. Could NCrunch's test runner be updated to be consistent with the way other test runners work in that regard?