Some instructions on how to get you set up and unit testing your .NET code quickly and easily using NSubstitute.
1. Download NSubstitute
Obtain NSubstitute from the following download link:
https://github.com/nsubstitute/NSubstitute/downloads
And extract it to a location of your choice. It is basically a dll file which gets referenced in your Visual Studio .NET project:

2. Create your Visual Studio project
As an easy example we will start with a Console Application:
3. Write the sample code
This is our main program.cs code that implements the unit testing:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using NSubstitute;
namespace NSubstitute
{
class Program
{
class Calc : ICalc
{
public int Add(int a, int b)
{
return a + b;
}
public string Mode { get; set; }
public event EventHandler PoweringUp;
}
static void Main(string[] args)
{
var calculator = Substitute.For<ICalc>();
calculator.Add(1, 2).Returns(3);
calculator.Mode.Returns("DEC");
calculator.Add(1, 2);
calculator.Received(1).Add(1, 2);
calculator.DidNotReceive().Add(5, 7);
Debug.Assert(calculator.Add(1, 2) == 3);
Debug.Assert(calculator.Mode == "DEC");
bool eventRaised = false;
calculator.PoweringUp += (sender, arguments) => eventRaised = true;
calculator.PoweringUp += Raise.Event();
Debug.Assert(eventRaised == true);
}
}
}
And this is the public interface, ICalc, used by the main code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NSubstitute
{
public interface ICalc
{
int Add(int a, int b);
string Mode { get; set; }
event EventHandler PoweringUp;
}
}
4. Set the project Reference properties.
Right-click your project folder and select References:
Select the Browse tab and seek out the location of the NSubstitute dll you have extracted and downloaded:
And that should be all there is too it!
Testing your .NET code then becomes a simple matter of making calls to Substitute eg
var calculator = Substitute.For<ICalc>();


