如何在ASP.NET核心中创建单元测试来提升ASP.NET MVC应用的测试覆盖率?

2026-03-30 11:291阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计468个文字,预计阅读时间需要2分钟。

如何在ASP.NET核心中创建单元测试来提升ASP.NET MVC应用的测试覆盖率?

在ASP.NET MVC 4.6项目中,当我在应用代码中的类上右键点击时,我有一个选项来创建一个单元测试。但在我的ASP.NET Core(VS2015 Core 1.0.0 Tooling Preview 2)项目中,当我右键点击相应的类时,我没有找到这个创建单元测试的选项。

当我在ASP.NET MVC 4.6项目中右键单击我的应用程序代码中的类时,我有这个选项来创建一个UNIT测试:

但是在我的ASP.NET Core(VS2015 Core 1.0.0 Tooling Preview 2)中,当我右键单击该类时,我没有此选项.

我已经读过XUnit现在是ASP.NET Core项目的首选测试框架.是不是可以使用旧的Microsoft单元测试框架?

我们现在真的被迫使用XUnit吗?

更新:
看起来将来会有兼容的MSTest框架版本 – > SO Thread.

如何在ASP.NET核心中创建单元测试来提升ASP.NET MVC应用的测试覆盖率?

对于ASP.NET Core RC2:
Announcing MSTest Framework support for .NET Core RC2 / ASP.NET Core RC2
因为我不想切换到XUnit.

目前,您可以将MS Test,NUnit和XUnit用于dotnet核心应用程序.不过,XUnit是现代单元测试框架的首选. XUnit的主要专业是它实例化和运行测试的方式.

XUnit为每个测试方法创建一个新实例,而其他人为每个测试类创建一个新实例,并从同一个实例运行所有方法. (所以他们需要像[Setup]和[TearDown]属性这样的东西).

这种运行测试方法有两个优点:

>测试方法不会相互依赖,因为它们不会共享任何字段或属性,这是一种很好的做法.因此开发人员自发地被迫隔离测试方法.
> XUnit的并行执行可以更好地执行,因为它并行运行所有测试方法,而不是NUnit,它不能同时在同一个类中运行测试方法.

一般来说,性能在单元测试中似乎并不是什么大问题,但考虑到集成测试,性能确实很重要,而XUnit肯定能够表现得更好.

结论:您不必将XUnit用于.net核心应用程序,但最好这样做.

本文共计468个文字,预计阅读时间需要2分钟。

如何在ASP.NET核心中创建单元测试来提升ASP.NET MVC应用的测试覆盖率?

在ASP.NET MVC 4.6项目中,当我在应用代码中的类上右键点击时,我有一个选项来创建一个单元测试。但在我的ASP.NET Core(VS2015 Core 1.0.0 Tooling Preview 2)项目中,当我右键点击相应的类时,我没有找到这个创建单元测试的选项。

当我在ASP.NET MVC 4.6项目中右键单击我的应用程序代码中的类时,我有这个选项来创建一个UNIT测试:

但是在我的ASP.NET Core(VS2015 Core 1.0.0 Tooling Preview 2)中,当我右键单击该类时,我没有此选项.

我已经读过XUnit现在是ASP.NET Core项目的首选测试框架.是不是可以使用旧的Microsoft单元测试框架?

我们现在真的被迫使用XUnit吗?

更新:
看起来将来会有兼容的MSTest框架版本 – > SO Thread.

如何在ASP.NET核心中创建单元测试来提升ASP.NET MVC应用的测试覆盖率?

对于ASP.NET Core RC2:
Announcing MSTest Framework support for .NET Core RC2 / ASP.NET Core RC2
因为我不想切换到XUnit.

目前,您可以将MS Test,NUnit和XUnit用于dotnet核心应用程序.不过,XUnit是现代单元测试框架的首选. XUnit的主要专业是它实例化和运行测试的方式.

XUnit为每个测试方法创建一个新实例,而其他人为每个测试类创建一个新实例,并从同一个实例运行所有方法. (所以他们需要像[Setup]和[TearDown]属性这样的东西).

这种运行测试方法有两个优点:

>测试方法不会相互依赖,因为它们不会共享任何字段或属性,这是一种很好的做法.因此开发人员自发地被迫隔离测试方法.
> XUnit的并行执行可以更好地执行,因为它并行运行所有测试方法,而不是NUnit,它不能同时在同一个类中运行测试方法.

一般来说,性能在单元测试中似乎并不是什么大问题,但考虑到集成测试,性能确实很重要,而XUnit肯定能够表现得更好.

结论:您不必将XUnit用于.net核心应用程序,但最好这样做.