This is part of the NServiceBus Upgrade Guide from Version 6 to 7, which also includes the following individual upgrade guides for specific components:
Transports
- Migrating MSMQ subscription messages
- Azure Service Bus Transport (Legacy) Upgrade Version 7 to 8
- Azure Storage Queues Transport Upgrade Version 7 to 8
- RabbitMQ Transport Upgrade Version 4 to 5
- SQL Server Transport Upgrade Version 3 to 4
Persistence
Hosting
Other
Upgrade to NServiceBus Version 7
NServiceBus.Testing requires NServiceBus Version 7.
When upgrading to NServiceBus.Testing Version 7, projects will also require an upgrade to NServiceBus Version 7.
AssertSagaCompletionIs
The AssertSagaCompletionIs method has been obsoleted and replaced by ExpectSagaCompleted and ExpectSagaNotCompleted.
// For Testing version 7.x
Test.Saga<MySaga>()
.ExpectSagaCompleted()
.WhenHandling<CompleteSagaMessage>();
// For Testing version 6.x
Test.Saga<MySaga>()
.WhenHandling<CompleteSagaMessage>()
.AssertSagaCompletionIs(true);
Note the ExpectSagaCompleted and ExpectSagaNotCompleted expectations must be placed before a When method, similar to other expectation methods.
ExpectHandleCurrentMessageLater
The ExpectHandleCurrentMessageLater method has been obsoleted as IMessageHandlerContext. has been deprecated in NServiceBus Version 7.
WhenHandling
An overload of the WhenHandling method has been added, which accepts a preconstructed message.
// For Testing version 7.x
var message = new CompleteSagaMessage();
Test.Saga<MySaga>()
.ExpectSagaCompleted()
.WhenHandling(message);
// For Testing version 6.x
var message = new CompleteSagaMessage();
Test.Saga<MySaga>()
.WhenHandling<CompleteSagaMessage>(msg => { /* msg has already been created */ })
.AssertSagaCompletionIs(true);
Fluent-style tests deprecated
The fluent-style testing API has been deprecated. See the upgrade guide for help on migrating to the Arrange-Act-Assert (AAA) test API.