如何在我的单元测试项目中使用没有 .NET 5 的 RavenDB.RavenTestDriver 5+?

问题描述

当运行 RavenDB 测试驱动程序 5.0+ 时,我收到一个异常,要求 ASP.NET Core 5.0.0。

Sstem.InvalidOperationException: Unable to start the RavenDB Server
It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App',version '5.0.0' was not found.
  - The following frameworks were found:
      2.1.23 at [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
      3.1.9 at [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]

如何在不将项目迁移到 .NET 5.0 的情况下使用它?

解决方法

是的,可以在没有 ASP.NET/.NET 5 的情况下使用 RavenDB 5。

您需要在配置时明确指定版本,或者干脆将其设置为空:

var ravenServerOptions = new TestServerOptions()
{
    FrameworkVersion = null
};

ConfigureServer(ravenServerOptions);

例如使用 NUnit:

[TestFixture]
public class FooTest : RavenTestDriver
{
    private IDocumentStore store;

    [OneTimeSetUp]
    public void OneTimeSetUp()
    {
        var ravenServerOptions = new TestServerOptions()
        {
            FrameworkVersion = null
        };

        ConfigureServer(ravenServerOptions);

        store = GetDocumentStore();
    }

    [OneTimeTearDown]
    public void OneTimeTearDown()
    {
        store.Dispose();
    }

    [Test]
    public void Test()
    {

    }
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...