如何使用Visual Studio Code中的单元测试构建asp.net 5 dnx项目?

loo*_*per 9 c# unit-testing visual-studio-code asp.net-core asp.net5

我刚刚使用yeoman生成器创建了一个新的asp.net 5项目.到目前为止一切正常,我可以使用Visual Studio Code编辑和构建项目.

现在我想添加单元测试,但它们是如何在VS Code中构建的?在Visual Studio中,常规方法是添加包含测试的新项目,如xUnit.net文档中所述.但是,在VS Code中,我不能只添加一个项目,可以吗?我在哪里进行测试?yeoman生成器也会创建一个新项目,但这意味着我必须运行第二个VS Code实例,以及第二个git repo或一个奇怪的文件夹结构.

pok*_*oke 8

没有什么可以阻止您在单个Visual Studio代码实例中拥有多个项目.ASP.NET Core项目的默认项目结构实际上使用了多个文件夹.您可以在GitHub上的所有ASP.NET Core项目中看到该结构,例如MVC:

? src
   ?? Microsoft.AspNetCore.Mvc
   ?? Microsoft.AspNetCore.Mvc.Abstractions
   ?? Microsoft.AspNetCore.Mvc.Core
   ?? Microsoft.AspNetCore.Mvc.Razor
? test
   ?? Microsoft.AspNetCore.Mvc.Abstractions.Test
   ?? Microsoft.AspNetCore.Mvc.Core.Test
   ?? Microsoft.AspNetCore.Mvc.Razor.Test
   ?? Microsoft.AspNetCore.Mvc.Test
Run Code Online (Sandbox Code Playgroud)

其中每个都是一个具有完全独立项目的文件夹,它自己project.json定义项目并设置依赖项.

不幸的是,VS Code中的Yeoman集成似乎不允许脚手架项目进入子文件夹.所以你需要做的是自己创建srctest文件夹,单独搭建你的项目并将它们移动到适当的文件夹中.例如,我开始使用名称创建一个"空Web应用程序" Example,然后创建一个名为"单元测试项目(xUnit.net)" Example.Test.然后,我只是拖Examplesrc文件夹,然后Example.Test进入test.

因此,该项目的,这样你的文件夹与VS代码公开,并在那里你会初始化你的资料库中,根就是那些目录srctest文件夹居住.例如,我的项目(设置了Git和vscode具体CONFIGS )现在看起来像这样:

? .git
? .vscode
? src
   ?? Example
? test
   ?? Example.Test
? global.json
? README.md
Run Code Online (Sandbox Code Playgroud)

这种结构的好处实际上是它与Visual Studio在创建新解决方案时所做的兼容.