TestBase.AdoNet
4.0.2
See the version list below for details.
dotnet add package TestBase.AdoNet --version 4.0.2
NuGet\Install-Package TestBase.AdoNet -Version 4.0.2
<PackageReference Include="TestBase.AdoNet" Version="4.0.2" />
<PackageVersion Include="TestBase.AdoNet" Version="4.0.2" />
<PackageReference Include="TestBase.AdoNet" />
paket add TestBase.AdoNet --version 4.0.2
#r "nuget: TestBase.AdoNet, 4.0.2"
#:package TestBase.AdoNet@4.0.2
#addin nuget:?package=TestBase.AdoNet&version=4.0.2
#tool nuget:?package=TestBase.AdoNet&version=4.0.2
TestBase gets you off to a flying start when unit testing projects with dependencies. It offers a rich extensible set of fluent assertions and a set of verifiable Fake Ado.Net components, with easy setup and verification.
TestBase.Shoulds
Chainable fluent assertions get you to the point concisely UnitUnderTest.Action() .ShouldNotBeNull() .ShouldContain(expected); UnitUnderTest.OtherAction() .ShouldEqualByValue( new {Id=1, Payload=expectedPayload, Additional=new[]{ expected1, expected2 }} );
- ShouldBe(), ShouldMatch(), ShouldNotBe(), ShouldContain(), ShouldNotContain(), ShouldBeEmpty(), ShouldNotBeEmpty(), ShouldAll() and many more
- ShouldEqualByValue() works with all kinds of object and collections
- Stream assertions include ShouldContain() and ShouldEqualByValue()
====================== TestBase.AdoNet adds:
TestBase.FakeDb
Works with Ado.Net and technologies on top of it, including Dapper.
fakeDbConnection.SetupForQuery(IEnumerable<TFakeData> )
fakeDbConnection.SetupForQuery(IEnumerable<Tuple<TFakeDataForTable1,TFakeDataForTable2>> )
fakeDbConnection.SetupForQuery(fakeData, new[] {""FieldName1"", FieldName2""})
fakeDbConnection.SetupForExecuteNonQuery(rowsAffected)
fakeDbConnection.ShouldHaveUpdated(""tableName"", [Optional] fieldList, whereClauseField)
fakeDbConnection.ShouldHaveSelected(""tableName"", [Optional] fieldList, whereClauseField)
fakeDbConnection.ShouldHaveUpdated(""tableName"", [Optional] fieldList, whereClauseField)
fakeDbConnection.ShouldHaveDeleted(""tableName"", whereClauseField)
fakeDbConnection.ShouldHaveInvoked(cmd ⇒ predicate(cmd))
fakeDbConnection.ShouldHaveXXX().ShouldHaveParameter(""name"", value)
fakeDbConnection.Verify(x=>x.CommandText.Matches(""Insert [case] .*"") && x.Parameters[""id""].Value==1)
TestBase.RecordingDb
new RecordingDbConnection(IDbConnection) helps you profile Ado.Net Db calls
ChangeLog
4.0.1.0 Port to NetCore 3.0.3.0 Improves FakeDb setup 3.0.x.0 adds and/or corrects missing Shoulds() 2.0.5.0 adds some intellisense and FakeDbConnection.Verify(..., message,args) overload
| 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. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | 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 | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Data.Common (>= 4.3.0)
- TestBase (>= 4.0.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on TestBase.AdoNet:
| Package | Downloads |
|---|---|
|
FixtureBase
Don't spend hours writing code to mock a dozen dependencies, and more hours debugging it. Just write your test code, and let FixtureBase create the dependencies for you. FixtureBase constructs your UnitUnderTest to test your codebase end-to-end, with external dependencies auto-faked and automatically injected in just the right place; even constructor dependencies that are several layers deep. You just write your tests: ``` public class FixtureBaseExample : FixtureBaseWithDbAndHttpFor<AUseCase> { [Fact] public void UUTSendsDataToDb() { var newDatum = new Datum{Id=99, Name="New!" }; UnitUnderTest.InsertDb(newDatum); Db.ShouldHaveInserted("Data",newDatum); } [Fact] public void UUTreturnsDataFromDbQuerySingleColumn() { var dbData = new[] { "row1", "row2", "row3", "row4"}; Db.SetUpForQuerySingleColumn(dbData); UnitUnderTest.FromDbStrings().ShouldEqualByValue(dbData); } [Fact] public async Task UUTGetHttpReturnsDataFromService() { var contentFromService = "IGotThis!"; HttpClient .Setup(m => true) .Returns(new HttpResponseMessage(HttpStatusCode.OK) {Content = new StringContent(contentFromService)}); (await UnitUnderTest.GetHttp()).ShouldBe(contentFromService); HttpClient.Verify(x=>x.Method==HttpMethod.Get); } } ``` The included examples demonstrate FixtureBases for applications which depend on Ado.Net IDbConnections and on HttpClient network connections. - To create your own FixtureBase with your own preferred Fakes, see the examples at <https://github.com/chrisfcarroll/ActivateAnything/blob/master/FixtureBase/FixtureExample.cs.md> - For how it's done, see <https://github.com/chrisfcarroll/ActivateAnything/blob/master/FixtureBase/FixtureBase.cs> Construction is done by - [ActivateAnything](https://www.nuget.org/packages/ActivateAnything) Faking is done by - [TestBase.AdoNet](https://www.nuget.org/packages/TestBase.AdoNet) - [TestBase.HttpClient.Fake](https://www.nuget.org/packages/TestBase.HttpClient.Fake) For more tools focussed on cutting the cost of unit testing, see also: - [TestBase](https://www.nuget.org/packages/TestBase) - [TestBase.AspNetCore.Mvc](https://www.nuget.org/packages/TestBase.AspNetCore.Mvc) - [TestBase-Mvc](https://www.nuget.org/packages/TestBase-Mvc) - [TestBase.AdoNet](https://www.nuget.org/packages/TestBase.AdoNet) - [TestBase.HttpClient.Fake](https://www.nuget.org/packages/TestBase.HttpClient.Fake) - [Serilog.Sinks.ListOfString](https://www.nuget.org/packages/Serilog.Sinks.Listofstring) - [Extensions.Logging.ListOfString](https://www.nuget.org/packages/Extensions.Logging.ListOfString) |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 5.1.0-prerelease1 | 216 | 12/20/2024 |
| 5.0.0 | 1,815 | 12/20/2018 |
| 4.1.5 | 5,906 | 11/21/2018 |
| 4.1.4.3 | 1,057 | 11/20/2018 |
| 4.1.2.4 | 1,018 | 10/16/2018 |
| 4.1.0 | 1,304 | 4/3/2018 |
| 4.0.9 | 1,674 | 3/23/2018 |
| 4.0.7 | 1,502 | 3/22/2018 |
| 4.0.6.2 | 1,482 | 3/9/2018 |
| 4.0.6.1 | 1,499 | 3/7/2018 |
| 4.0.5.2 | 1,476 | 3/2/2018 |
| 4.0.4 | 1,487 | 2/25/2018 |
| 4.0.3 | 1,522 | 2/25/2018 |
| 4.0.2 | 1,239 | 2/24/2018 |
| 4.0.1 | 1,473 | 2/24/2018 |