DbMocker 1.1.0
See the version list below for details.
dotnet add package DbMocker --version 1.1.0
NuGet\Install-Package DbMocker -Version 1.1.0
<PackageReference Include="DbMocker" Version="1.1.0" />
paket add DbMocker --version 1.1.0
#r "nuget: DbMocker, 1.1.0"
// Install DbMocker as a Cake Addin #addin nuget:?package=DbMocker&version=1.1.0 // Install DbMocker as a Cake Tool #tool nuget:?package=DbMocker&version=1.1.0
DbMocker - Simple Database Mocker for UnitTests
Introduction
This .NET library simplifies data mocking for UnitTests, to avoid a connection to a relational database. DbMocker use the standard Microsoft .NET DbConnection object. So, you can mock any toolkit, including EntityFramework, Dapper or ADO.NET; And for all database servers (SQL Server, Oracle, SQLite).
First, add the DbMocker NuGet packages. Second, mock you SQL requests using this library like this.
Please, contact me if you want other features or to solve bugs.
// Sample method from your DataService
public int GetNumberOfEmployees(DbConnection connection)
{
using (var cmd = connection.CreateCommand())
{
cmd.CommandText = "SELECT COUNT(*) FROM Employees";
return Convert.ToInt32(cmd.ExecuteScalar());
}
}
[TestMethod]
public void UnitTest1()
{
var conn = new MockDbConnection();
// When a specific SQL command is detected,
// Don't execute the query to your SQL Server,
// But returns this MockTable.
conn.Mocks
.When(cmd => cmd.CommandText.StartsWith("SELECT COUNT(*)") &&
cmd.Parameters.Count() == 0)
.ReturnsTable(MockTable.WithColumns("Count")
.AddRow(14));
// Call your "classic" methods to tests
int count = GetNumberOfEmployees(conn);
Assert.AreEqual(14, count);
}
Road map
- DataSets are not yet implemented.
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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
-
.NETCoreApp 2.1
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on DbMocker:
Package | Downloads |
---|---|
MockTracer
Base test class for generated code |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on DbMocker:
Repository | Stars |
---|---|
dtm-labs/client-csharp
The new client for dtm in csharp, including workflow, dtmcli, and dtmgrpc
|
Version | Downloads | Last updated |
---|---|---|
2.0.1-preview | 641 | 2/4/2024 |
1.25.0 | 8,787 | 11/9/2024 |
1.24.0 | 445 | 11/6/2024 |
1.23.0 | 32,841 | 12/19/2023 |
1.22.0 | 53,219 | 7/7/2022 |
1.21.0 | 14,475 | 11/27/2021 |
1.20.0 | 1,343 | 10/8/2021 |
1.19.0 | 13,909 | 9/26/2021 |
1.18.0 | 69,873 | 2/7/2021 |
1.17.0 | 1,154 | 1/25/2021 |
1.16.0 | 565 | 1/23/2021 |
1.15.0 | 920 | 1/13/2021 |
1.14.0 | 549 | 1/13/2021 |
1.13.0 | 670 | 12/22/2020 |
1.12.0 | 566 | 12/14/2020 |
1.11.0 | 700 | 11/23/2020 |
1.10.0 | 598 | 11/23/2020 |
1.9.0 | 599 | 11/12/2020 |
1.8.0 | 594 | 11/11/2020 |
1.7.0-Preview2 | 669 | 5/20/2020 |
1.7.0-Preview1 | 518 | 5/20/2020 |
1.6.0 | 48,931 | 4/17/2019 |
1.5.0 | 1,614 | 9/2/2018 |
1.4.1-alpha | 841 | 8/29/2018 |
1.4.0 | 1,076 | 8/5/2018 |
1.3.0 | 1,069 | 8/2/2018 |
1.2.0 | 1,046 | 7/31/2018 |
1.1.0 | 1,285 | 7/15/2018 |