Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core 用xUnit测试.Net核心库_.net Core_Xunit_Xunit.net_Project.json - Fatal编程技术网

.net core 用xUnit测试.Net核心库

.net core 用xUnit测试.Net核心库,.net-core,xunit,xunit.net,project.json,.net Core,Xunit,Xunit.net,Project.json,我正在创建一个ASP.Net Core应用程序可以使用的.Net Core库。默认情况下,Visual Studio创建project.json,如下所示 { "dependencies": { "NETStandard.Library": "1.6.0" }, "frameworks": { "netstandard1.6": { "imports": "dnxcore50" } }, "version": "1.0.0-*" } 我

我正在创建一个
ASP.Net Core
应用程序可以使用的
.Net Core库。默认情况下,Visual Studio创建project.json,如下所示

{
  "dependencies": {

    "NETStandard.Library": "1.6.0"
  },
  "frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    }
  },
  "version": "1.0.0-*"
}
我认为建议对其他应用程序使用的库使用
netstandard1.x
。我将删除
“导入”:“dnxcore50”
,因为这是用于较旧的.NET Core预览版本(在.NET Core 1.0 RTM和.NET Core RC2发布之前)

现在,我想使用
xunit
对这个库进行单元测试,因此遵循了本文 然而,xunit建议将该库标记为.Net核心应用程序

你可能已经注意到,我们在这里做的部分工作就是给你的班级打分 作为.NET核心应用程序的库(netcoreapp1.0框架)。什么时候 使用.NET CLI进行测试时,单元测试项目实际上是一个 应用程序*,而不是类库。如果你忘了做这个改变, 编译器将告诉您dotnet test xunit不兼容 使用类库项目。我们告诉VisualStudio生成一个 类库,因为它最接近我们想要的 项目结构

  • 应用程序的主要功能由xUnit.net运行程序提供,而不是由您提供
因此,我已经按照建议更新了project.josn,并且能够运行单元测试。不过,我有问题:

1> 当.Net核心库可以被其他应用程序使用时,是否建议将该库的目标框架从
netstandard1.6
更改为
netcoreapp1.0

您将有一个项目(和project.json)专用于您的测试项目

您需要将测试项目标记为.NET核心应用程序,因为它实际上将被执行。 无需将作为库的目标项目更改为核心应用程序

在这里你可以看到

这里是