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

lfk*_*lfk 28 c# unit-testing visual-studio .net-core visual-studio-2017

我知道之前已经问过这个问题,看来这个功能在某些时候已经从VS中删除了.但我现在正在查看Microsoft 教程,并说VS 2017中应该有一个创建单元测试功能.

我正在尝试测试ASP.NET Core MVC控制器.我已经按照创建测试项目的步骤进行了操作.但是当我右键单击命名空间/类/方法时,我仍然看不到任何这样的选项.

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

tom*_*dox 43

对于面向.NET Core和.NET Standard的项目,尚不支持"创建单元测试"上下文菜单选项.

文件已更新,以反映2018年7月的情况,现在说明:

"创建单元测试"菜单命令:

  • 可在Visual Studio 2015及更高版本的社区,专业版和企业版中使用.
  • 仅支持面向.NET Framework的C#代码.
  • 是可扩展的,并支持以MSTest,MSTest V2,NUnit,xUnit格式发出测试.
  • 尚未在.NET Core项目中使用.

此功能将在 Visual Studio 15.9版本中发布,但现在似乎已被推回到版本16.1.

请参阅以下更新以获取更多历史记录和详细信

原答案2017年6月

来自微软Jayarani Garg的 GitHub条目证实它仅适用于针对完整.NET框架的项目:

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

感谢您的反馈意见..Net Core项目目前不支持"创建单元测试".

这是设计而不是根据Visual Studio Team对同一个Visual Studio Developer Community页面的评论的错误:

Visual Studio Team♦♦·2017年3月10日下午01:06

感谢您的反馈意见!Visual Studio团队已确定此问题不是错误.但是,我们会考虑这些反馈,并创建了 https://github.com/Microsoft/vstest/issues/592来跟踪这一情况.请随时投票支持该问题.

上面提到的关于Microsoft VS Test repo 创建单元测试上下文菜单缺失(.net核心项目)的github问题有点令人困惑.它要求为.NET Core项目添加此功能,但随后Microsoft员工谈论修复问题.我相信员工指的是旧的错误,其中上下文菜单选项不适用于完整的.NET框架项目,正如该问题中所讨论的那样,该问题也在该线程中提到.据我所知,线程并没有说他们已经为.NET Core项目添加了菜单选项.

我刚刚查看了Visual Studio Professional 2017,版本15.2(26430.6)的副本,我确实有一个针对完整.NET框架的项目的创建单元测试选项(这个目标是.NET Framework 4.5.1) :

创建单元测试菜单项

但我没有针对.NETCoreApp 1.1的项目:

缺少创建单元测试菜单项

2018年6月更新

Microsoft已注意到功能请求的upvotes,并计划在15.8版中引入.NET Core项目的上下文菜单选项:

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

将此功能添加到.NET Core项目需要对新项目系统进行一些重大更改 - 这将推动.NET Core项目.本期(https://github.com/dotnet/project-system/issues/3425)在项目系统GitHub repo中跟踪了这项工作.此问题预计将在15.8发布时间范围内得到解决,因此不幸的是,在即将发布的15.7版本中,.NET Core项目的创建单元测试功能将无法使用.我们完全理解这是一个关键功能,我们会尽最大努力尽早提供.

2018年7月更新

与创建单元测试命令来创建单元测试方法存根页面已经被现在更新以反映这不会对.NET的核心工作.

2018年8月更新

正如下面的@gartenriese所指出的,微软在跟踪这项工作时所描述的GitHub问题3425 已于2018年8月2日移至15.9里程碑.

2019年1月更新

单元测试功能似乎依赖于开发的另一部分或被其阻止.根据微软David Kean的这篇GitHub帖子,该部分现在定于VS 16.1,即VS 2019,并且也比EF Core 3.0(这是VS 16的主要功能之一)更低于优先级列表.

  • 它被推回到15.9. (2认同)