RavenDB.TestDriver
7.1.0-rc-71000
Prefix Reserved
dotnet add package RavenDB.TestDriver --version 7.1.0-rc-71000
NuGet\Install-Package RavenDB.TestDriver -Version 7.1.0-rc-71000
<PackageReference Include="RavenDB.TestDriver" Version="7.1.0-rc-71000" />
<PackageVersion Include="RavenDB.TestDriver" Version="7.1.0-rc-71000" />
<PackageReference Include="RavenDB.TestDriver" />
paket add RavenDB.TestDriver --version 7.1.0-rc-71000
#r "nuget: RavenDB.TestDriver, 7.1.0-rc-71000"
#addin nuget:?package=RavenDB.TestDriver&version=7.1.0-rc-71000&prerelease
#tool nuget:?package=RavenDB.TestDriver&version=7.1.0-rc-71000&prerelease
RavenDB .NET Test Driver
You're looking at RavenDB Test Driver Client (SDK) NuGet release.
It makes it easy to write tests that require RavenDB instance, leveraging embedded server and providing you friendly API.
RavenDB is a NoSQL database that fuses extreme performance with ease-of-use, offering above the roof developer experience.
Learn more at https://ravendb.net or visit our GitHub repository.
Installation
Get the latest stable version from NuGet.
Learning resources
- Test Driver Guide - https://ravendb.net/articles/writing-unit-tests-with-ravendb-net-test-driver 🛣️
- Documentation - https://ravendb.net/docs/article-page/start/test-driver 🎒
- Code Samples - https://demo.ravendb.net/ 🧑💻
Community
- RavenDB's Discord - https://discord.gg/ravendb 🍻
- Articles & guides - https://ravendb.net/articles 📰
- YouTube - https://www.youtube.com/@ravendb_net 🍿
- Blog - https://ayende.com/blog/ 🧑💻
Getting started
Configure
var testServerOptions = new TestServerOptions
{
// Looks for the newest version on your machine including 3.1.15 and any newer patches
// but not major new releases (default is .NET version at time of server release).
FrameworkVersion = "3.1.15+",
// Specifies where ravendb server binaries are located (Optional)
ServerDirectory = "PATH_TO_RAVENDB_SERVER",
// Specifies where ravendb data will be placed/located (Optional)
DataDirectory = "PATH_TO_RAVENDB_DATADIR",
};
ConfigureServer(testServerOptions);
Write a test
using Raven.Client.Documents;
using Raven.TestDriver;
using Xunit;
using System.Linq;
using Raven.Client.Documents.Indexes;
namespace RavenDBTestDriverFullExample
{
public class RavenDBTestDriver : RavenTestDriver
{
static RavenDBTestDriver()
{
// ConfigureServer() must be set before calling GetDocumentStore()
// and can only be set once per test run.
ConfigureServer(new TestServerOptions
{
DataDirectory = "C:\\RavenDBTestDir"
});
}
// This allows us to modify the conventions of the store we get from 'GetDocumentStore'
protected override void PreInitialize(IDocumentStore documentStore)
{
documentStore.Conventions.MaxNumberOfRequestsPerSession = 50;
}
[Fact]
public void MyFirstTest()
{
// GetDocumentStore() evokes the Document Store, which establishes and manages communication
// between your client application and a RavenDB cluster via HTTP requests.
using (var store = GetDocumentStore())
{
store.ExecuteIndex(new TestDocumentByName());
using (var session = store.OpenSession())
{
session.Store(new TestDocument { Name = "Hello world!" });
session.Store(new TestDocument { Name = "Goodbye..." });
session.SaveChanges();
}
// If we want to query documents, sometimes we need to wait for the indexes to catch up
// to prevent using stale indexes.
WaitForIndexing(store);
// Sometimes we want to debug the test itself. This method redirects us to the studio
// so that we can see if the code worked as expected (in this case, created two documents).
WaitForUserToContinueTheTest(store);
// Queries are defined in the session scope.
// If there is no relevant index to quickly answer the query, RavenDB creates an auto-index
// based on the query parameters.
// This query will use the static index defined in lines 63-70 and filter the results by name.
using (var session = store.OpenSession())
{
var query = session.Query<TestDocument, TestDocumentByName>()
.Where(x => x.Name == "hello").ToList();
Assert.Single(query);
}
}
}
}
// AbstractIndexCreationTask allows you to create and manually define a static index.
public class TestDocumentByName : AbstractIndexCreationTask<TestDocument>
{
public TestDocumentByName()
{
Map = docs => from doc in docs select new { doc.Name };
Indexes.Add(x => x.Name, FieldIndexing.Search);
}
}
public class TestDocument
{
public string Name { get; set; }
}
}
Contributing
- Submit an issue - https://github.com/ravendb/ravendb/issues
- GitHub Discussions - https://github.com/ravendb/ravendb/discussions
- Contributing rules - https://github.com/ravendb/ravendb/blob/v7.1/CONTRIBUTING.md
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 is compatible. 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. |
-
.NETFramework 4.6.2
- Lambda2Js.Signed (>= 3.1.4)
- Microsoft.AspNetCore.JsonPatch (>= 8.0.16)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.5)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- Newtonsoft.Json (>= 13.0.3)
- Nito.AsyncEx.Coordination (>= 5.1.2)
- RavenDB.Embedded (>= 7.1.0-rc-71000)
- System.Buffers (>= 4.6.1)
- System.Collections.Immutable (>= 9.0.5)
- System.Memory (>= 4.6.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
.NETStandard 2.0
- Lambda2Js.Signed (>= 3.1.4)
- Microsoft.AspNetCore.JsonPatch (>= 8.0.16)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.5)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- Newtonsoft.Json (>= 13.0.3)
- Nito.AsyncEx.Coordination (>= 5.1.2)
- RavenDB.Embedded (>= 7.1.0-rc-71000)
- System.Buffers (>= 4.6.1)
- System.Collections.Immutable (>= 9.0.5)
- System.Memory (>= 4.6.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.Runtime.Loader (>= 4.3.0)
- System.Threading.Tasks.Extensions (>= 4.6.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RavenDB.TestDriver:
Package | Downloads |
---|---|
ECommerce.Data.RavenDbProvider
a resilient abstract data access. StartPoint ECommerce.DataAccess based on Hexagonal architecture gives you the capacity to access any data source with retrying and fallback action |
GitHub repositories (10)
Showing the top 10 popular GitHub repositories that depend on RavenDB.TestDriver:
Repository | Stars |
---|---|
JasperFx/wolverine
Supercharged .NET server side development!
|
|
Aguafrommars/TheIdServer
OpenID/Connect, OAuth2, WS-Federation and SAML 2.0 server based on Duende IdentityServer and ITFoxtec Identity SAML 2.0 with its admin UI
|
|
CommunityToolkit/Aspire
A community project with additional components and extensions for .NET Aspire
|
|
linkdotnet/Blog
A blog (engine) completely written in C# and Blazor. It aims to be a simple use and easy to extend platform. Blogposts are written in Markdown and are rendered to HTML. This gives all the flexibility needed to express yourself but also have an easy way of creating posts in the first place.
|
|
TcOpenGroup/TcOpen
Application framework for industrial automation built on top of TwinCAT3 and .NET.
|
|
RemyDuijkeren/NodaMoney
NodaMoney provides a library that treats Money as a first class citizen and handles all the ugly bits like currencies and formatting.
|
|
stoveproject/Stove
Domain Driven Design oriented application framework, meets CRUD needs
|
|
RemiBou/Toss.Blazor
Experimental project using AspNetCore Blazor
|
|
linkdotnet/BlogExamples
Contains all of my examples from various blog posts
|
|
ravendb/samples-yabt
"Yet Another Bug Tracker" solution sample for RavenDB and .NET with Angular UI
|
Version | Downloads | Last updated |
---|---|---|
7.1.0-rc-71000 | 143 | 5/29/2025 |
7.0.3 | 575 | 6/10/2025 |
7.0.2 | 4,725 | 4/29/2025 |
7.0.1 | 5,680 | 3/27/2025 |
7.0.0 | 12,751 | 2/4/2025 |
6.2.6 | 298 | 6/10/2025 |
6.2.5 | 1,381 | 4/29/2025 |
6.2.4 | 2,236 | 3/18/2025 |
6.2.3 | 17,235 | 1/21/2025 |
6.2.2 | 26,176 | 12/11/2024 |
6.2.1 | 19,769 | 10/30/2024 |
6.2.0 | 7,571 | 9/17/2024 |
6.0.110 | 298 | 3/18/2025 |
6.0.109 | 785 | 1/21/2025 |
6.0.108 | 244 | 12/11/2024 |
6.0.107 | 844 | 10/30/2024 |
6.0.106 | 8,790 | 9/17/2024 |
6.0.105 | 18,580 | 7/23/2024 |
6.0.104 | 10,571 | 6/17/2024 |
6.0.103 | 6,415 | 5/16/2024 |
6.0.102 | 13,835 | 4/29/2024 |
6.0.101 | 32,953 | 3/19/2024 |
6.0.100 | 46,428 | 2/12/2024 |
6.0.4 | 4,132 | 1/19/2024 |
6.0.3 | 60,472 | 1/16/2024 |
6.0.2 | 2,459 | 12/27/2023 |
6.0.1 | 5,180 | 11/14/2023 |
6.0.0 | 4,175 | 10/2/2023 |
5.4.209 | 290 | 6/10/2025 |
5.4.208 | 869 | 4/29/2025 |
5.4.207 | 976 | 3/18/2025 |
5.4.206 | 8,742 | 1/21/2025 |
5.4.205 | 3,366 | 12/11/2024 |
5.4.204 | 8,241 | 10/30/2024 |
5.4.203 | 9,247 | 10/2/2024 |
5.4.202 | 585 | 9/17/2024 |
5.4.201 | 10,560 | 7/23/2024 |
5.4.200 | 15,391 | 6/17/2024 |
5.4.119 | 2,695 | 5/16/2024 |
5.4.118 | 2,937 | 4/29/2024 |
5.4.117 | 11,729 | 3/19/2024 |
5.4.116 | 9,058 | 2/12/2024 |
5.4.115 | 2,583 | 1/18/2024 |
5.4.114 | 145 | 1/16/2024 |
5.4.113 | 8,331 | 12/27/2023 |
5.4.112 | 102,372 | 11/14/2023 |
5.4.111 | 10,094 | 10/3/2023 |
5.4.110 | 3,536 | 9/12/2023 |
5.4.109 | 13,791 | 8/1/2023 |
5.4.107 | 5,088 | 6/23/2023 |
5.4.106 | 315 | 6/22/2023 |
5.4.105 | 731 | 6/20/2023 |
5.4.104 | 36,874 | 5/12/2023 |
5.4.103 | 27,173 | 3/30/2023 |
5.4.102 | 4,187 | 3/27/2023 |
5.4.101 | 15,410 | 2/13/2023 |
5.4.100 | 18,237 | 1/9/2023 |
5.4.5 | 54,646 | 11/21/2022 |
5.4.4 | 13,478 | 10/12/2022 |
5.4.3 | 783 | 10/10/2022 |
5.4.2 | 18,548 | 9/1/2022 |
5.4.1 | 35,192 | 7/19/2022 |
5.4.0 | 11,766 | 7/18/2022 |
5.3.108 | 40,156 | 1/9/2023 |
5.3.107 | 2,807 | 11/21/2022 |
5.3.106 | 538 | 10/10/2022 |
5.3.105 | 611 | 9/1/2022 |
5.3.104 | 1,904 | 7/18/2022 |
5.3.103 | 29,584 | 6/7/2022 |
5.3.102 | 56,120 | 4/19/2022 |
5.3.101 | 24,325 | 3/15/2022 |
5.3.100 | 31,947 | 2/1/2022 |
5.3.2 | 9,265 | 1/7/2022 |
5.3.1 | 5,726 | 12/21/2021 |
5.3.0 | 4,779 | 11/29/2021 |
5.2.116 | 205 | 8/1/2023 |
5.2.115 | 213 | 6/23/2023 |
5.2.114 | 201 | 6/22/2023 |
5.2.113 | 215 | 6/20/2023 |
5.2.112 | 481 | 5/12/2023 |
5.2.111 | 580 | 3/30/2023 |
5.2.110 | 862 | 3/27/2023 |
5.2.109 | 669 | 2/13/2023 |
5.2.108 | 3,156 | 1/9/2023 |
5.2.107 | 436 | 11/21/2022 |
5.2.106 | 539 | 10/10/2022 |
5.2.105 | 551 | 9/1/2022 |
5.2.104 | 587 | 7/18/2022 |
5.2.103 | 607 | 6/7/2022 |
5.2.102 | 11,209 | 4/19/2022 |
5.2.101 | 18,670 | 3/15/2022 |
5.2.100 | 905 | 2/1/2022 |
5.2.6 | 808 | 1/7/2022 |
5.2.5 | 472 | 12/21/2021 |
5.2.4 | 13,573 | 11/15/2021 |
5.2.3 | 8,597 | 9/29/2021 |
5.2.2 | 17,322 | 8/16/2021 |
5.2.1 | 2,238 | 7/1/2021 |
5.2.0 | 3,919 | 6/21/2021 |
5.1.13 | 475 | 12/21/2021 |
5.1.12 | 555 | 11/15/2021 |
5.1.11 | 592 | 9/29/2021 |
5.1.10 | 607 | 8/16/2021 |
5.1.9 | 11,877 | 7/1/2021 |
5.1.8 | 3,823 | 5/26/2021 |
5.1.7 | 20,542 | 4/23/2021 |
5.1.6 | 2,517 | 4/13/2021 |
5.1.5 | 7,823 | 3/1/2021 |
5.1.4 | 9,320 | 2/1/2021 |
5.1.3 | 880 | 1/25/2021 |
5.1.2 | 5,810 | 12/11/2020 |
5.1.1 | 2,367 | 12/1/2020 |
5.1.0 | 1,466 | 11/18/2020 |
5.0.14 | 1,130 | 6/16/2021 |
5.0.13 | 647 | 5/24/2021 |
5.0.12 | 12,036 | 4/23/2021 |
5.0.11 | 3,957 | 4/13/2021 |
5.0.10 | 782 | 3/1/2021 |
5.0.9 | 763 | 2/1/2021 |
5.0.8 | 2,347 | 1/25/2021 |
5.0.7 | 3,578 | 12/11/2020 |
5.0.6 | 697 | 12/1/2020 |
5.0.5 | 17,926 | 11/16/2020 |
5.0.4 | 925 | 11/10/2020 |
5.0.3 | 4,598 | 9/28/2020 |
5.0.2 | 7,424 | 8/17/2020 |
5.0.1 | 1,454 | 8/5/2020 |
5.0.0 | 4,228 | 7/23/2020 |
4.2.124 | 263 | 6/19/2023 |
4.2.123 | 2,964 | 6/7/2022 |
4.2.122 | 1,274 | 4/19/2022 |
4.2.121 | 1,080 | 3/15/2022 |
4.2.120 | 2,185 | 2/1/2022 |
4.2.119 | 498 | 12/21/2021 |
4.2.118 | 1,113 | 11/15/2021 |
4.2.117 | 1,018 | 9/29/2021 |
4.2.116 | 907 | 8/16/2021 |
4.2.115 | 999 | 7/1/2021 |
4.2.114 | 2,492 | 5/24/2021 |
4.2.113 | 2,581 | 4/23/2021 |
4.2.112 | 802 | 4/13/2021 |
4.2.111 | 3,117 | 3/1/2021 |
4.2.110 | 1,819 | 2/1/2021 |
4.2.109 | 703 | 1/25/2021 |
4.2.108 | 3,375 | 11/16/2020 |
4.2.107 | 695 | 11/10/2020 |
4.2.106 | 6,367 | 9/28/2020 |
4.2.105 | 10,831 | 8/17/2020 |
4.2.104 | 2,334 | 7/22/2020 |
4.2.103 | 13,685 | 5/25/2020 |
4.2.102 | 5,269 | 4/15/2020 |
4.2.101 | 11,736 | 3/3/2020 |
4.2.100 | 852 | 3/2/2020 |
4.2.8 | 15,274 | 1/21/2020 |
4.2.6 | 7,061 | 12/9/2019 |
4.2.5 | 2,686 | 11/25/2019 |
4.2.5-patch-42026 | 507 | 11/13/2019 |
4.2.4 | 3,392 | 10/14/2019 |
4.2.4-patch-42020 | 516 | 9/27/2019 |
4.2.3 | 12,898 | 8/26/2019 |
4.2.2 | 9,464 | 7/15/2019 |
4.2.1 | 1,765 | 6/27/2019 |
4.2.0 | 3,592 | 5/21/2019 |
4.2.0-rc-42008 | 544 | 5/8/2019 |
4.2.0-rc-42007 | 580 | 4/25/2019 |
4.2.0-rc-42005 | 561 | 4/17/2019 |
4.2.0-rc-42003 | 558 | 4/12/2019 |
4.2.0-rc-42002 | 564 | 4/5/2019 |
4.2.0-rc-42001 | 567 | 3/22/2019 |
4.2.0-rc-42000 | 554 | 3/22/2019 |
4.1.10 | 1,254 | 11/25/2019 |
4.1.9 | 758 | 10/14/2019 |
4.1.9-patch-41022 | 499 | 9/27/2019 |
4.1.8 | 2,144 | 8/26/2019 |
4.1.8-patch-41017 | 531 | 7/15/2019 |
4.1.7 | 819 | 6/27/2019 |
4.1.6 | 896 | 5/21/2019 |
4.1.5 | 1,569 | 4/15/2019 |
4.1.5-patch-41012 | 633 | 3/15/2019 |
4.1.4 | 11,039 | 2/13/2019 |
4.1.4-patch-41009 | 677 | 2/1/2019 |
4.1.4-patch-41008 | 2,187 | 1/7/2019 |
4.1.3 | 4,652 | 11/19/2018 |
4.1.3-patch-41006 | 1,200 | 11/5/2018 |
4.1.3-patch-41005 | 792 | 10/22/2018 |
4.1.2 | 5,632 | 10/15/2018 |
4.1.1 | 4,201 | 9/14/2018 |
4.1.0 | 1,629 | 8/31/2018 |
4.1.0-rc-41000 | 835 | 8/17/2018 |
4.0.11 | 1,178 | 2/28/2019 |
4.0.10 | 923 | 2/13/2019 |
4.0.10-patch-40057 | 638 | 2/1/2019 |
4.0.10-patch-40056 | 666 | 1/7/2019 |
4.0.9 | 962 | 11/19/2018 |
4.0.9-patch-40054 | 770 | 11/5/2018 |
4.0.9-patch-40052 | 742 | 10/22/2018 |
4.0.8 | 1,053 | 10/15/2018 |
4.0.7 | 1,065 | 8/31/2018 |
4.0.6 | 2,498 | 8/3/2018 |
4.0.6-patch-40047 | 967 | 7/2/2018 |
4.0.5 | 6,161 | 6/12/2018 |
4.0.4-patch-40038 | 1,110 | 5/18/2018 |
4.0.3 | 18,269 | 4/23/2018 |
4.0.3-patch-40034 | 1,565 | 3/30/2018 |
4.0.3-patch-40033 | 1,104 | 3/19/2018 |
4.0.3-patch-40031 | 1,150 | 3/7/2018 |
4.0.2 | 3,497 | 2/26/2018 |
4.0.1 | 1,457 | 2/20/2018 |
4.0.0 | 1,798 | 2/6/2018 |