I am working on some .NET applications with a rest API. These comprise both .NET Core and .NET Framework applications. In the CI build process, unit tests are running on Azure Devops Server. My unit tests are all fine. However, I also have self hosting tests. For .NET Core, I use WebApplicationFactory in my xUnit tests. For .NET Framework, I use an OWIN server inside nUnit tests. Logically, the external REST API's need to be mocked. To do so, WireMock.NET is used. So far so good.
However, some of my applications have a SQL Server dependency. This is a strong dependency (features and datatypes understood by SQL Server are enthousiasticly used). Therefore, mocking the database dependency with SQLite is not an option. So how to mock my SQL Server databases?
I read about SQL Server In-Memory OLTP. I think the concept is clear to me but it is not clear if this is really a practical option mock my database. What is nice about WireMock.NET and OWIN is that this can be used by this adding and using some extra NuGet packages. There is no need to install any extra software.
Is OLTP a good way to mock my database? So can it be used without extra software installations? Does it cover the features of sql server machines?