diff --git a/src/Microsoft.TestPlatform.ObjectModel/TraitCollection.cs b/src/Microsoft.TestPlatform.ObjectModel/TraitCollection.cs index 1504dc5237..1729efd4a5 100644 --- a/src/Microsoft.TestPlatform.ObjectModel/TraitCollection.cs +++ b/src/Microsoft.TestPlatform.ObjectModel/TraitCollection.cs @@ -67,15 +67,17 @@ private IEnumerable GetTraits() { if (!_testObject.Properties.Contains(TraitsProperty)) { - yield break; + return Array.Empty(); } - var traits = _testObject.GetPropertyValue(TraitsProperty, Enumerable.Empty>().ToArray()); - - foreach (var trait in traits) + var traitsKvp = _testObject.GetPropertyValue(TraitsProperty, Enumerable.Empty>().ToArray()); + var traits = new Trait[traitsKvp.Length]; + for (int i = 0; i < traits.Length; i++) { - yield return new Trait(trait); + traits[i] = new Trait(traitsKvp[i]); } + + return traits; } private void Add(IEnumerable traits, IEnumerable newTraits)