/// <inheritdoc /> public override IEnumerable <object[]> GetData(MethodInfo testMethod) { // TODO JMH Is this needed? //var dataSourceAttributes = testMethod.GetCustomAttributes().OfType<ITestDataSource>().Where(dataSourceAttribute => !(dataSourceAttribute is AutoDataAttribute)); //if (dataSourceAttributes.Any()) // return base.Execute(testMethod); // If there are no other ITestDataSource attributes on this test method, then use AutoFixture to generate the arguments for a single test run. var testMethodInfo = testMethod.ToTestMethodInfo(); var fixture = TestMethodFixtureSource.GetFixture(testMethodInfo); var arguments = TestMethodArgumentResolver.GetTestMethodArguments(fixture, testMethodInfo); return(new[] { arguments.ToArray() }); }
/// <inheritdoc /> public override TestResult[] Execute(ITestMethod testMethod) { var dataSourceAttributes = testMethod.MethodInfo.GetCustomAttributes().OfType <ITestDataSource>().Where(dataSourceAttribute => !(dataSourceAttribute is AutoDataAttribute)); if (dataSourceAttributes.Any()) { return(base.Execute(testMethod)); } // If there are no other ITestDataSource attributes on this test method, then use AutoFixture to generate the arguments for a single test run. var testMethodInfo = testMethod.ToTestMethodInfo(); var fixture = TestMethodFixtureSource.GetFixture(testMethodInfo); var arguments = TestMethodArgumentResolver.GetTestMethodArguments(fixture, testMethodInfo); return(new[] { testMethod.Invoke(arguments.ToArray()) }); }
/// <inheritdoc /> public IEnumerable <object[]> GetData(MethodInfo methodInfo) { var numberOfInlineData = Data.Length; var parameters = methodInfo.GetParameters(); var numberOfParameters = parameters.Length; var numberToAutoGenerate = numberOfParameters - numberOfInlineData; if (numberToAutoGenerate <= 0) { return new[] { Data } } ; var arguments = new List <object>(Data); var testMethodInfo = methodInfo.ToTestMethodInfo().IgnoreParameters(numberOfInlineData); var fixture = TestMethodFixtureSource.GetFixture(testMethodInfo); arguments.AddRange(TestMethodArgumentResolver.GetTestMethodArguments(fixture, testMethodInfo)); return(new[] { arguments.ToArray() }); }