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.