Migration Guide

Version 2 to 3

does not contain a definition for 'Then'

// BEFORE
.Then<TransferInstructionCreatedChapter>();
// NEW
.ProceedToChapter<TransferInstructionCreatedChapter>();

does not contain a definition for 'That'

// BEFORE
Scenario.Given.That
.An_investor_has_been_created();
// AFTER
Scenario.Given
.An_investor_has_been_created();

Version 1 to 2

[CS0246] The type or namespace name 'IScenarioContext' could not be found

Replace all references of IScenarioContext with ScenarioContext

The type arguments for method 'IChapterGiven<..... cannot be inferred

Example this code:

public static readonly Func<ScenarioContext, StoryInput, StoryParameters, StoryOuput> AccountTransactionCreated =
(context, input, parameters) =>
{
StoryOutput output = // Do Some work here
return ouput;
};

Should change to:

public static readonly Func<ScenarioContext<StoryInput>, StoryParameters, StoryOuput> AccountTransactionCreated =
(context, parameters) =>
{
// Story Input is now accessed through the Scenario Context
var storyInput = context.StoryInput;
// Do work here
StoryOutput output = // Do Some work here
return ouput;
};

Cannot resolve UseResult

.UseResult(clientRegistered => newClient = clientRegistered );

refactored to:

.GetResult(out NewClientRegistered? newClient);