SimpleMock 1.0.0
See the version list below for details.
dotnet add package SimpleMock --version 1.0.0
NuGet\Install-Package SimpleMock -Version 1.0.0
<PackageReference Include="SimpleMock" Version="1.0.0" />
paket add SimpleMock --version 1.0.0
#r "nuget: SimpleMock, 1.0.0"
// Install SimpleMock as a Cake Addin #addin nuget:?package=SimpleMock&version=1.0.0 // Install SimpleMock as a Cake Tool #tool nuget:?package=SimpleMock&version=1.0.0
SimpleMock
SimpleMock is a very simple mocking framework, something that I have always wanted to try to write but I was prompted to have a go after a discussion at work.
Usage
The examples below use the following interface as an example
public interface IWorker
{
int DoSomething(int anInt, string aString, bool aBool);
string DoSomethingStringy(int anInt);
int Height { get; }
}
Creating the Mock
var workerMock = new Mock<IWorker>();
Mocking a Method
workerMock
.Setup(w => w.DoSomething(0, "", false))
.Returns(5);
N.B. Currently the values supplied as parameters are ignored. In this example, any call to DoSomething
will return 5.
Mocking a Readable Property
workerMock
.Setup(w => w.Height)
.Returns(10);
Supplying the Mock to a Dependant
var dependant = new Dependant(workerMock.MockObject);
Getting the Call Count
workerMock.GetCallCount(w => w.DoSomething(0, "", false));
N.B. Currently the values supplied as parameters are ignored. In this example, the call count will be the total number of calls to DoSomething
regardless of parameters.
Getting the Parameter Values of a Specific Call
workerMock.GetCallParameters(w => w.DoSomething(0, "", false), 7);
N.B. The index is zero-based.
N.B. Currently the values supplied as parameters are ignored. In this example, the parameters will be those of the eighth call to DoSomething
regardless of parameters.
Limitations
This is only a very simple and niave implementation so there are a number of limitations, amongst which are:
- Can only mock interfaces
- No support for callbacks
- Argument values passed in the
Setup
method are ignored. - No verification on number of calls to mock.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.