Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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
C# 类库(Package).Net 4.6的单元测试_C#_Unit Testing_.net 4.6 - Fatal编程技术网

C# 类库(Package).Net 4.6的单元测试

C# 类库(Package).Net 4.6的单元测试,c#,unit-testing,.net-4.6,C#,Unit Testing,.net 4.6,我成功地将代码移动到了新的类库(包)项目类型,所有代码都是构建和编译的。从我所能收集到的信息来看,不可能再添加项目参考 但是,我可以设置在构建时生成输出设置,该设置在artifacts\bin文件夹中创建了一个dll,我可以从单元测试项目中引用该dll。我现在遇到的问题是,在调试单元测试时,我无法从引用的dll进入代码,我引用的文件夹中有一个.pdb文件,但我似乎无法单步执行我的代码。我缺少什么吗?Microsoft单元测试与包应用程序的单元测试完全不同。我建议您使用xUnit。xUnit既跨

我成功地将代码移动到了新的
类库(包)
项目类型,所有代码都是构建和编译的。从我所能收集到的信息来看,不可能再添加
项目参考


但是,我可以设置
在构建时生成输出
设置,该设置在artifacts\bin文件夹中创建了一个dll,我可以从单元测试项目中引用该dll。我现在遇到的问题是,在调试单元测试时,我无法从引用的dll进入代码,我引用的文件夹中有一个.pdb文件,但我似乎无法单步执行我的代码。我缺少什么吗?

Microsoft单元测试与包应用程序的单元测试完全不同。我建议您使用xUnit。xUnit既跨平台又易于使用

如何(困难的方法):

1) 创建一个包应用程序(带有要测试的主项目)

2) 从项目中的global.json文件检查dnx版本(例如:我的版本是1.0.0-beta5)

3) 请看我发送给您的链接,有一个绿色表格显示了dnx版本支持的版本

所以在我的例子中:我支持的xunit包版本是
2.1.0-beta3-build3029
,运行程序版本是
2.1.0-beta3-build99

4) 打开project.json文件(测试项目)并添加包(根据我发送给您的文档)

就这些。它现在一定在工作。您可以在XUnitGithub页面中找到文档(它与MStest有点不同)

如何(简单方法/由于上述版本冲突,此方法可能不起作用。Visual studio将始终获取最新版本,而最新版本可能不适合您的dnx版本):

  • 浏览到工具/扩展和更新。。。visualstudio中的菜单
  • 安装xUnit测试项目模板扩展
  • 安装xUnit.net测试扩展
  • 创建一个新的xUnit测试项目
  • 写一些测试

  • 项目模板的名称非常糟糕。您正在创建一个类库,该类库以.NETCore和开源CoreCLR为目标,目前处于测试阶段。无法添加对不同时以.NETCore为目标的项目的引用。你确定这就是你的本意吗?
        "dependencies": {
        "xunit": "2.1.0-beta3-build3029",
        "xunit.runner.dnx": "2.1.0-beta3-build99"
      },
    
        "commands": {
        "test": "xunit.runner.dnx"
      },