C# VS 2017中创建单元测试在哪里?

C# VS 2017中创建单元测试在哪里?,c#,visual-studio,unit-testing,.net-core,visual-studio-2017,C#,Visual Studio,Unit Testing,.net Core,Visual Studio 2017,我知道以前有人问过这个问题,似乎这个功能在某个时候被从VS中删除了。但我现在正在看一个微软,它说在VS2017中应该有一个创建单元测试功能 我正在尝试测试ASP.NET核心MVC控制器。我遵循了创建测试项目的步骤。但当我右键单击一个名称空间/类/方法时,仍然看不到任何这样的选项 编辑:我正在使用Visual Studio 2017社区版下面的答案仅与.NET核心/标准相关。如果缺少完整.NET Framework项目的“创建单元测试”选项 当前状态:它现在正在为.NET核心工作! 现在,我在Vi

我知道以前有人问过这个问题,似乎这个功能在某个时候被从VS中删除了。但我现在正在看一个微软,它说在VS2017中应该有一个创建单元测试功能

我正在尝试测试ASP.NET核心MVC控制器。我遵循了创建测试项目的步骤。但当我右键单击一个名称空间/类/方法时,仍然看不到任何这样的选项


编辑:我正在使用Visual Studio 2017社区版

下面的答案仅与.NET核心/标准相关。如果缺少完整.NET Framework项目的“创建单元测试”选项

当前状态:它现在正在为.NET核心工作! 现在,我在Visual Studio Professional 2019版本16.3.0 Preview 3.0上运行的Core 3解决方案中有了创建单元测试上下文菜单。不确定它是什么时候重新出现的,因为我一直在定期更新每个新的预览版本

历史 有关更多历史记录和详细信息,请参阅下面的更新

原始答复2017年6月 来自的此GitHub条目确认它仅适用于针对完整.NET framework的项目:

Jayarani Garg[MSFT]·2017年2月27日上午6:09嗨

谢谢你的反馈。“创建单元测试”当前不可用 支持.Net核心项目

根据同一Visual Studio开发人员社区页面上的说明,这是出于设计而不是错误:

VisualStudio团队♦♦ · 2017年3月10日下午1:06

感谢您的反馈!Visual Studio团队已确定此问题 这不是一个错误。然而,我们会考虑这个反馈并创造出来。 来追踪这个。请 请随意投票支持这个问题

上面提到的微软VS测试回购中的github问题有点令人困惑。它还要求为.NET核心项目添加此功能,但随后一位Microsoft员工谈到要对某个问题进行修复。我相信该员工指的是旧的bug,上下文菜单选项也不适用于完整的.NET framework项目,该线程中也提到了这一点。据我所知,thread并没有说他们已经为.NET核心项目添加了菜单选项

我还刚刚查看了Visual Studio Professional 2017版本15.2(26430.6)的副本,并且我有针对完整.NET framework的项目的创建单元测试选项(此选项针对.NET framework 4.5.1):

但是我没有针对某个目标的项目使用它。NETCoreApp 1.1:

2018年6月更新 Microsoft已注意到的升级投票,并计划在15.8版中为.NET核心项目引入上下文菜单选项:

Manish Jayaswal[MSFT]于2018年4月6日晚上10:30回复Daniel Tibi

将此功能添加到.NET核心项目需要一些 新项目系统中的重大变化-驱动.NET 核心项目。这项工作正在项目系统GitHub中跟踪 本期回购 () . 这个问题是 预计将在15.8发布时间内解决不幸的是, 无法为.NET核心项目创建单元测试功能 在即将发布的15.7版本中提供。我们完全理解这一点 是一项关键功能,我们将尽最大努力尽早提供 尽可能的

2018年7月更新 页面必须反映出这不适用于.NETCore

2018年8月更新 正如下面所指出的,微软描述为跟踪这项工作的GitHub问题3425被转移到了

2019年1月更新 单元测试功能似乎依赖于,或被阻止。这一部分现在计划用于VS 16.1,即VS 2019,并且比EF Core 3.0(这是VS 16的主要功能之一)在优先级列表中更靠后

2019年5月更新 针对.NET核心和.NET标准的项目(目前)不支持“创建单元测试”上下文菜单选项

该文件过去是,现在是:

创建单元测试菜单命令:

  • 在Visual Studio 2015及更高版本的社区版、专业版和企业版中提供
  • 仅支持针对.NET Framework的C#代码
  • 是可扩展的,并支持以MSTest、MSTest V2、NUnit、xUnit格式发出测试
  • 尚未在.NET核心项目中提供。
此功能以前是VisualStudio的,但现在是

我已经在Visual Studio Professional 2019 RC(版本16.0.0)中的一个.NET Core 2.2项目中对此进行了测试,我可以确认它仍然不起作用——正如上面的答案所预期的那样


我还刚刚测试了Visual Studio Professional 2019 Preview(版本16.1.0 Preview 2.0),但它在那里也不可用,所以看起来微软还没有做到这一点。

我也遇到了同样的问题。我在2015年使用过这个,但在2017年找不到。[我认为这篇文章回答了这个问题,可能是因为我使用的是.NET Core?我会尝试使用一个普通的项目可能是@MichaelFredgeim的副本。我不认为它实际上是一个副本;另一个问题是指完整的.NET项目,而这与.NET Core特别相关。预期的行为结果是(没有帮助的)根据.net版本的不同而有所不同。非常感谢您花时间进行更新。到目前为止,15.8似乎将是一个重要的版本。它已被推回到15.9。@tomRedox:在它所说的问题中(相对在最后)“Pilchie修改了里程碑:8月2日的15.8、15.9”。我不认为我可以直接链接到这一点。现在是2018年11月,我们仍然在15.8.9上,没有对.NET核心/标准项目进行单元测试(创建)。@tomRedox它是基于问题底部的自动GitHub通知:“drewnoakes修改了里程碑:16.3,16.4 2天前”。相关问题(#3425)是