Skip to content

Commit c4baec5

Browse files
committed
Made ReflectiveScenarioScanner easier to extend
1 parent 5ae3390 commit c4baec5

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

TestStack.BDDfy.Tests/Scanner/StepScannerExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ internal static class StepScannerExtensions
1111
internal static IEnumerable<ExecutionStep> Scan(this IStepScanner scanner, object testObject)
1212
{
1313
// ToDo: this is rather hacky and is not DRY. Should think of a way to get rid of this
14-
return ReflectiveScenarioScanner
14+
return new ReflectiveScenarioScanner()
1515
.GetMethodsOfInterest(testObject.GetType())
1616
.SelectMany(x => scanner.Scan(testObject, x))
1717
.OrderBy(s => s.ExecutionOrder)

TestStack.BDDfy/Scanners/ScenarioScanners/ReflectiveScenarioScanner.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public ReflectiveScenarioScanner(string scenarioTitle, params IStepScanner[] ste
4848
_scenarioTitle = scenarioTitle;
4949
}
5050

51-
public Scenario Scan(object testObject)
51+
public virtual Scenario Scan(object testObject)
5252
{
5353
var scenarioType = testObject.GetType();
5454
var scenarioTitle = _scenarioTitle ?? GetScenarioText(scenarioType);
@@ -62,7 +62,7 @@ static string GetScenarioText(Type scenarioType)
6262
return NetToString.Convert(scenarioType.Name);
6363
}
6464

65-
private IEnumerable<ExecutionStep> ScanScenarioForSteps(object testObject)
65+
protected virtual IEnumerable<ExecutionStep> ScanScenarioForSteps(object testObject)
6666
{
6767
var allSteps = new List<ExecutionStep>();
6868
var scenarioType = testObject.GetType();
@@ -83,7 +83,7 @@ private IEnumerable<ExecutionStep> ScanScenarioForSteps(object testObject)
8383
return allSteps;
8484
}
8585

86-
public static IEnumerable<MethodInfo> GetMethodsOfInterest(Type scenarioType)
86+
public virtual IEnumerable<MethodInfo> GetMethodsOfInterest(Type scenarioType)
8787
{
8888
var bindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
8989

0 commit comments

Comments
 (0)