private FeatureTestRun RunTest(MethodInfo test, IFrameworkAdapter framework) { var frameworkType = framework.GetType(); var specialCase = GetSpecialCase(test, frameworkType) ?? GetSpecialCase(test.DeclaringType, frameworkType); if (specialCase != null && specialCase.Skip) { return(new FeatureTestRun(test, frameworkType, FeatureTestResult.SkippedDueToSpecialCase, specialCase.Comment)); } var instance = Activator.CreateInstance(test.DeclaringType); try { test.Invoke(instance, new object[] { framework }); } catch (Exception ex) { return(new FeatureTestRun(test, frameworkType, FeatureTestResult.Failure, exception: ToUsefulException(ex))); } var comment = specialCase != null ? specialCase.Comment : null; return(new FeatureTestRun(test, frameworkType, FeatureTestResult.Success, comment)); }