diff --git a/src/tests/Common/XUnitWrapperGenerator/ITestInfo.cs b/src/tests/Common/XUnitWrapperGenerator/ITestInfo.cs index 08702f531e39c7..3430dfce259b3d 100644 --- a/src/tests/Common/XUnitWrapperGenerator/ITestInfo.cs +++ b/src/tests/Common/XUnitWrapperGenerator/ITestInfo.cs @@ -295,9 +295,11 @@ public MemberDataTest(ISymbol referencedMember, string externAlias, string argumentLoopVarIdentifier) { - TestNameExpression = innerTest.TestNameExpression; Method = innerTest.Method; ContainingType = innerTest.ContainingType; + // Use a static expression that doesn't reference the loop variable since it may be used + // outside the foreach loop scope (e.g., in a ConditionalTest's else branch). + TestNameExpression = $"\"{externAlias}::{ContainingType}.{Method}(...)\""; DisplayNameForFiltering = $"{ContainingType}.{Method}(...)"; _innerTest = innerTest;