diff --git a/TUnit.Core/Helpers/ClassConstructorHelper.cs b/TUnit.Core/Helpers/ClassConstructorHelper.cs index 6a8e092b48..4c0ef08353 100644 --- a/TUnit.Core/Helpers/ClassConstructorHelper.cs +++ b/TUnit.Core/Helpers/ClassConstructorHelper.cs @@ -25,7 +25,7 @@ public static class ClassConstructorHelper return await TryCreateInstanceWithClassConstructor( attributes, testClassType, - TestBuilderContext.FromTestContext(testContext, attributes.OfType().FirstOrDefault()), + TestBuilderContext.FromTestContext(testContext, GetDataSourceAttribute(attributes)), testSessionId); } @@ -70,7 +70,28 @@ public static class ClassConstructorHelper /// public static bool HasClassConstructorAttribute(Attribute[] attributes) { - return attributes.OfType().Any(); + foreach (Attribute attribute in attributes) + { + if (attribute is ClassConstructorAttribute) + { + return true; + } + } + + return false; + } + + private static IDataSourceAttribute? GetDataSourceAttribute(IReadOnlyList attributes) + { + foreach (Attribute attribute in attributes) + { + if (attribute is IDataSourceAttribute dataSourceAttribute) + { + return dataSourceAttribute; + } + } + + return null; } ///