gpt4 book ai didi

c# - asp.net core 5.0 模拟框架

转载 作者:IT王子 更新时间:2023-10-29 04:18:59 27 4
gpt4 key购买 nike

我最近安装了 Visual Studio 2015 并启动了一个项目,其中包含一个网站和一个包含网站单元测试的 asp 类库。我通常使用 Moq 进行模拟,但我对尝试不同的模拟框架并不陌生。我遇到的问题是我添加了 Moq 作为对单元测试项目的引用并开始使用它。起初一切似乎都很好,直到我尝试编译。

当我编译时,我收到一条错误消息:

ASP.NET Core 5.0 错误 CS0246:找不到类型或命名空间名称“Moq”(是否缺少 using 指令或程序集引用?)

我注意到我可以在代码 View 中在 ASP.NET 5.0 和 ASP.NET Core 5.0 之间切换,并且在选择 ASP.NET Core 5.0 时出现错误,但在选择 ASP.NET 5.0 时没有出现错误。我尝试寻找答案,但没有任何运气。

问题是 Moq 不能与 vnext 一起使用,我应该使用不同的框架(如果可以的话,哪个可行?)或者我能以某种方式解决这个问题吗?我的项目.json:

{
"version": "1.0.0-*",
"dependencies": {
"Web": "1.0.0-*",
"Xunit.KRunner": "1.0.0-beta1",
"xunit": "2.0.0-beta5-build2785",
"Moq": "4.2.1409.1722"
},

"frameworks": {
"aspnet50": {
"dependencies": {
}
},
"aspnetcore50": {
"dependencies": {
}
}
},
"commands": {
"test": "Xunit.KRunner"
}

}

最佳答案

Microsoft 的 ASP.NET 团队创建了一个特殊版本的 Moq 供内部使用。您可以在 asp.net github page 上找到一个分支项目。 .

如何使用它?

  • 在 project.json 中注册一个 Moq 依赖项:

    {
    "frameworks": {
    "dnx451": {
    "dependencies": {
    "Moq": "4.2.1312.1622"
    }
    },
    "dnxcore50": {
    "dependencies": {
    "moq.netcore": "4.4.0-beta8"
    }
    }
    }
    }
  • 在项目主目录中创建一个 NuGet.config 文件。

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <packageSources>
    <add key="AspNetVNext" value="https://www.myget.org/F/aspnetcidev/api/v3/index.json" />
    <add key="NuGet" value="https://api.nuget.org/v3/index.json" />
    </packageSources>
    </configuration>

并使用最小起订量! :)

关于c# - asp.net core 5.0 模拟框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27918305/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com