internal static void AddTestMethods(Type testType, TestUnitCollection addTo) { foreach (var m in testType.GetRuntimeMethods()) { try { var myCase = CreateTest(m); if (myCase != null) { addTo.Add(myCase); } } catch (Exception ex) { addTo.Add(SkippedInitFailure.CreateTestUnitFactoryProblem(m, ex)); } } foreach (var p in testType.GetRuntimeProperties()) { try { var myCase = CreateTest(p); if (myCase != null) { addTo.Add(myCase); } } catch (Exception ex) { addTo.Add(SkippedInitFailure.CreateTestUnitFactoryProblem(p.GetMethod, ex)); } } }
protected override void Initialize(TestContext testContext) { Metadata.Apply(testContext); int index = 0; foreach (var attr in TestDataProviders) { var factory = GetTestCaseFactory(attr); string providerName = null; if (attr is ITestDataApiAttributeConventions conv) { providerName = conv.Name; } IEnumerable <TestData> data = null; try { data = attr.GetData(testContext); } catch (Exception ex) { Children.Add(SkippedInitFailure.DataProviderProblem(this, attr.ToString(), TestMethod, ex)); } if (data == null) { continue; } var allData = data.ToList(); foreach (var row in allData) { var caseUnit = factory.CreateTestCase(TestMethod, new TestDataInfo(row, providerName, index)); Children.Add(caseUnit); index++; } } Metadata.ApplyDescendants(testContext, Descendants); }