/// <inheritdoc /> public virtual IEnumerable <IXunitTestCase> Discover(ITestFrameworkDiscoveryOptions discoveryOptions, ITestMethod testMethod, IAttributeInfo factAttribute) { Requires.NotNull(factAttribute, nameof(factAttribute)); string[] skippingExceptionNames = SkippableFactDiscoverer.GetSkippableExceptionNames(factAttribute); TestMethodDisplay defaultMethodDisplay = discoveryOptions.MethodDisplayOrDefault(); IEnumerable <IXunitTestCase>?basis = this.theoryDiscoverer.Discover(discoveryOptions, testMethod, factAttribute); foreach (IXunitTestCase?testCase in basis) { if (testCase is XunitTheoryTestCase) { #if NET45 yield return(new SkippableTheoryTestCase(skippingExceptionNames, this.diagnosticMessageSink, defaultMethodDisplay, testCase.TestMethod)); #else yield return(new SkippableTheoryTestCase(skippingExceptionNames, this.diagnosticMessageSink, defaultMethodDisplay, discoveryOptions.MethodDisplayOptionsOrDefault(), testCase.TestMethod)); #endif } else { #if NET45 yield return(new SkippableFactTestCase(skippingExceptionNames, this.diagnosticMessageSink, defaultMethodDisplay, testCase.TestMethod, testCase.TestMethodArguments)); #else yield return(new SkippableFactTestCase(skippingExceptionNames, this.diagnosticMessageSink, defaultMethodDisplay, discoveryOptions.MethodDisplayOptionsOrDefault(), testCase.TestMethod, testCase.TestMethodArguments)); #endif } } }
/// <inheritdoc /> public IEnumerable <IXunitTestCase> Discover(ITestFrameworkDiscoveryOptions discoveryOptions, ITestMethod testMethod, IAttributeInfo factAttribute) { string[] skippingExceptionNames = SkippableFactDiscoverer.GetSkippableExceptionNames(factAttribute); TestMethodDisplay defaultMethodDisplay = discoveryOptions.MethodDisplayOrDefault(); var basis = this.theoryDiscoverer.Discover(discoveryOptions, testMethod, factAttribute); foreach (var testCase in basis) { if (testCase is XunitTheoryTestCase) { yield return(new SkippableTheoryTestCase(skippingExceptionNames, this.diagnosticMessageSink, defaultMethodDisplay, testCase.TestMethod)); } else { yield return(new SkippableFactDiscoverer.SkippableFactTestCase(skippingExceptionNames, this.diagnosticMessageSink, defaultMethodDisplay, testCase.TestMethod, testCase.TestMethodArguments)); } } }