For the latest versions of NUnit version see: https://www.nuget.org/packages/SignalR.UnitTestingSupport.NUnit/
For the latest versions of xUnit version see: https://www.nuget.org/packages/SignalR.UnitTestingSupport.xUnit
For the latest versions of MSTest version see: https://www.nuget.org/packages/SignalR.UnitTestingSupport.MSTest/
For full docs see: https://github.com/NightAngell/SignalR_UnitTestingSupport/wiki
This lib provide support objects and base classes for testing Hub, Hub<T>, IHubContext<T>, IHubContext<T, P>
. For example preconfigured mocks and helpfull verify methods. There is also support for testing Hubs and IHubContexts with Entity Framework Core
.
- netcoreapp (2.1, 2,2, 3.0, 3,1) - 2.0.0
- net5 - 5.0.0
- net6.0 - 6.0.0
- net7.0 - 7.0.0
- net8.0 - 8.0.0
If you dont know how install nuget via Visual Studio see this: https://www.youtube.com/watch?v=jX5HlrerIos
SignalR.UnitTestingSupport.NUnit
SignalR.UnitTestingSupport.xUnit
SignalR.UnitTestingSupport.MSTest
Install-Package SignalR.UnitTestingSupport.NUnit
Install-Package SignalR.UnitTestingSupport.xUnit
Install-Package SignalR.UnitTestingSupport.MSTest
dotnet add package SignalR.UnitTestingSupport.NUnit
dotnet add package SignalR.UnitTestingSupport.xUnit
dotnet add package SignalR.UnitTestingSupport.MSTest
Install NUnit3TestAdapter
nuget for visual studio testing with NUnit in visual studio. https://www.nuget.org/packages/NUnit3TestAdapter/
Install xunit.runner.visualstudio
nuget for visual studio testing with xUnit. https://www.nuget.org/packages/xunit.runner.visualstudio/
Install MSTest.TestAdapter
nuget for visual studio testing with MSTest.
https://www.nuget.org/packages/MSTest.TestAdapter/
If your tests are not even detected, install Microsoft.Net.Test.Sdk
nuget :)
https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/
If you get NullReferenceException when you try testing with my lib see this.
Error after update for ASP.NET Core 3.0: Help with migration from ASP.NET Core 2.1 or 2.2 to 3.0
Help with migration from netstandard2.0 to netstandard.2.1 compatibile project
After you add nuget to your test project, SignalR_UnitTestingSupport is ready to use.
All IHubContext support classes are in
SignalR_UnitTestingSupportCommon.IHubContextSupport
namespace
For NUnit: All testing base classes are in
SignalR_UnitTestingSupport.Hubs
namespace
For xUnit: All testing base classes are in
SignalR_UnitTestingSupportXUnit.Hubs
namespace
For MSTest: All testing base classes are in
SignalR_UnitTestingSupportMSTest.Hubs
namespace
Create test class for hub for example:
class ExampleHubTests {}
And then:
class ExampleHubTests : HubUnitTestsBase {}
class ExampleHubTests : HubUnitTestsBase<T> {}
class ExampleHubTests : HubUnitTestsWithEF<TDbContext> {}
TDbContext is any class which inherit from
Microsoft.EntityFrameworkCore.DbContext
or DbContext itself.
class ExampleHubTests : HubUnitTestsWithEF<T, TDbContext> {}
TDbContext is any class which inherit from
Microsoft.EntityFrameworkCore.DbContext
or DbContext itself.
5. For testing with IHubContext<THub>
see this.
5. For testing with IHubContext<THub, TIHubResponses>
see this.
How use second approach. See this.