diff --git a/src/TestStack.BDDfy/Scanners/StepScanners/Fluent/FluentScanner.cs b/src/TestStack.BDDfy/Scanners/StepScanners/Fluent/FluentScanner.cs index 92e5f39..48f6d34 100644 --- a/src/TestStack.BDDfy/Scanners/StepScanners/Fluent/FluentScanner.cs +++ b/src/TestStack.BDDfy/Scanners/StepScanners/Fluent/FluentScanner.cs @@ -203,9 +203,15 @@ private StepTitle CreateTitle(string stepTextTemplate, bool includeInputsInStepT { if (_testContext.Examples != null) { - var matchingHeader = _testContext.Examples.Headers - .SingleOrDefault(header => ExampleTable.HeaderMatches(header, i.ParameterName) || - ExampleTable.HeaderMatches(header, i.Value.Name)); + var matchingHeaders = _testContext.Examples.Headers + .Where(header => ExampleTable.HeaderMatches(header, i.ParameterName) || + ExampleTable.HeaderMatches(header, i.Value.Name)) + .ToList(); + + if (matchingHeaders.Count > 1) + throw new ArgumentException($"Cannot uniquely distinguish parameter name between '{methodInfo.Name}' method's parameter name '{i.ParameterName}' and header's name '{i.Value.Name}'"); + + var matchingHeader = matchingHeaders.SingleOrDefault(); if (matchingHeader != null) return string.Format("<{0}>", matchingHeader); }