在ASP.NET核心

时间:2016-07-02 13:36:04

标签: asp.net-mvc unit-testing visual-studio-2015 xunit asp.net-core-1.0

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

enter image description here

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

  1. 测试方法不会相互依赖,因为它们不会共享任何字段或属性,这是一种很好的做法。因此,开发人员不自觉地被迫隔离测试方法。

  2. XUnit的并行执行可以更好地执行,因为它并行运行所有测试方法,而不是NUnit,它不能同时在同一个类中运行测试方法。

  3. 一般来说,性能在单元测试中似乎不是什么大问题,但考虑到集成测试,性能确实很重要,XUnit绝对可以表现得更好。

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