From 782cfd3d37c736ac20ddf88aefc26a94d3a5746d Mon Sep 17 00:00:00 2001 From: "Chris Ross (ASP.NET)" Date: Tue, 15 May 2018 11:17:24 -0700 Subject: [PATCH] Skip member data by property --- .../Xunit/LoggedConditionalTheoryDiscoverer.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Microsoft.Extensions.Logging.Testing/Xunit/LoggedConditionalTheoryDiscoverer.cs b/src/Microsoft.Extensions.Logging.Testing/Xunit/LoggedConditionalTheoryDiscoverer.cs index da5685bb..d239b114 100644 --- a/src/Microsoft.Extensions.Logging.Testing/Xunit/LoggedConditionalTheoryDiscoverer.cs +++ b/src/Microsoft.Extensions.Logging.Testing/Xunit/LoggedConditionalTheoryDiscoverer.cs @@ -32,6 +32,20 @@ protected override IEnumerable CreateTestCasesForDataRow( object[] dataRow) { var skipReason = testMethod.EvaluateSkipConditions(); + if (skipReason == null && dataRow?.Length > 0) + { + var obj = dataRow[0]; + if (obj != null) + { + var type = obj.GetType(); + var property = type.GetProperty("Skip"); + if (property != null && property.PropertyType.Equals(typeof(string))) + { + skipReason = property.GetValue(obj) as string; + } + } + } + return skipReason != null ? base.CreateTestCasesForSkippedDataRow(discoveryOptions, testMethod, theoryAttribute, dataRow, skipReason) : base.CreateTestCasesForDataRow(discoveryOptions, testMethod, theoryAttribute, dataRow);