SparkyTestHelpers.Moq
1.2.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package SparkyTestHelpers.Moq --version 1.2.0
NuGet\Install-Package SparkyTestHelpers.Moq -Version 1.2.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SparkyTestHelpers.Moq" Version="1.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SparkyTestHelpers.Moq --version 1.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SparkyTestHelpers.Moq, 1.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SparkyTestHelpers.Moq as a Cake Addin #addin nuget:?package=SparkyTestHelpers.Moq&version=1.2.0 // Install SparkyTestHelpers.Moq as a Cake Tool #tool nuget:?package=SparkyTestHelpers.Moq&version=1.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Moq syntax helpers
see also:
- the rest of the "Sparky suite" of .NET utilities and test helpers
"Any" syntax
_mock.Setup(x => x.DoSomething(
It.IsAny<string>(), It.IsAny<int>(), It.IsAny<IEnumerable<int>>())
.Returns(true);
...can be simplified to:
using SparkyTestHelpers.Moq;
. . .
_mock.Setup(x => x.DoSomething(
Any.String, Any.Int, Any.IEnumerable<int>())
.Returns(true);
"Any" members:
- Any.Boolean
- Any.DateTime
- Any.Decimal
- Any.Double
- Any.Int
- Any.Object
- Any.String
- Any.InstanceOf<T>
- Any.Array<T>
- Any.IEnumerable<T>
- Any.List<T>
- Any.Dictionary<TKey, TValue>
- Any.KeyValuePair<TKey, TValue>
- Any.Tuple<T1, T2>
Alternate "Verify" syntax
_mock.Verify(x => x.Foo("bar", 3), Times.Once);
...can be coded as:
using SparkyTestHelpers.Moq;
. . .
_mock.VerifyOneCallTo(x => x.Foo("bar", 3));
"Verify" extension methods:
- VerifyCallCount(int count, expresssion)
- VerifyOneCallTo(expression)
- VerifyAtLeastOneCallTo(expression)
- VerifyAtMostOneCallTo(expression)
- VerifyNoCallsTo(expression)
- VerifyGetCount(int count, expresssion)
- VerifyOneGet(expression)
- VerifyAtLeastOneGet(expression)
- VerifyAtMostOneGet(expression)
- VerifyNoGets(expression)
- VerifySetCount(int count, expresssion)
- VerifyOneSet(expression)
- VerifyAtLeastOneSet(expression)
- VerifyAtMostOneSet(expression)
- VerifyNoSets(expression)
mock.Where extension method
...provides an alternate syntax for "It.Is":
using SparkyTestHelpers.Moq;
. . .
// sad:
_mock.Setup(x => x.Foo(It.Is<int>(i => i % 2 == 0))).Returns(true);
// rad!:
_mock.Setup(x => x.Foo(Any.Int.Where(i => i % 2 == 0))).Returns(true);
mock.Expression extension method
...makes it easy to create a reusable expression so you don't duplicate code in ".Setup" and ".Verify" calls:
_mock.Setup(x => x.Foo(Any.String, Any.Int, Any.InstanceOf<Bar>())).Returns(true);
subjectUnderTest.Fooify("yo", 5, myBar);
_mock.VerifyOneCallTo(x => x.Foo(Any.String, Any.Int, Any.InstanceOf<Bar>()));
...can be coded as:
using SparkyTestHelpers.Moq;
. . .
var fooExp = _mock.Expression(x => x.Foo(Any.String, Any.Int, Any.InstanceOf<Bar>()));
_mock.Setup(fooExp).Returns(true);
subjectUnderTest.Fooify("yo", 5, myBar);
_mock.VerifyOneCallTo(fooExp);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.3 is compatible. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 was computed. netstandard2.1 was computed. |
.NET Framework | net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 1.3
- Moq (>= 4.8.1)
- NETStandard.Library (>= 1.6.1)
- SparkyTestHelpers (>= 1.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
v1.2.0: Target .NET Standard 1.3