手机版

在ASP.NET芯用迅驰进行单元测试

时间:2021-09-03 来源:互联网 编辑:宝哥软件园 浏览:

自从MVC的第一个版本诞生以来,单元测试的功能就被引入作为一个重要的卖点。通常在比较MVC和webform的时候,单元测试就是杀手锏,把webform压得一无是处。

不用说,单元测试的重要性非常重要。带有单元测试的项目就像为开发人员购买保险。当然,这个保险的质量取决于单元测试的质量。那些模拟单元测试看起来很漂亮,但是它们不能涵盖任何东西。目前一个老项目有两万多个单元测试用例,很多都是辛苦的,真正实现了业务逻辑,开发人员可以放心的修改代码。当然,一切都必须按照TDD的原理来进行,所以我就不赘述了。

接下来,言归正传。单元测试是。NET核心。相关的API和组件提供的功能与之前的版本没有太大区别,主要是因为需要支持。NET核心。说白了,前面的代码下了。NET Framework平台必须重新生成才能支持。NET核心。例如,本文中提到的xUnit为提供了一个受支持的版本。NET核心。让我们来看看如何在ASP.NET核心中使用xUnit进行单元测试。

XUnit。Net引入

《xUnit.net的创造者》是Jim Newkirk和Brad Wilson从使用NUnit和其他单元测试框架的经验中总结出来的一个新框架。与努涅特相比,xUnit.net有以下特点:

为每个测试方法生成一个对象实例,取消[SetUp]和[disterdown],取消[ExpectedException],使用泛型匿名委托可扩展断言可扩展测试方法可扩展测试类减少自定义Attribute的数量xuit . net的官网是:http://xunit.codeplex.com,下面是xuit . net的运行界面:

请注意,在下载的xUnit.net压缩包中有四个支持图形用户界面的exe文件,它们是:

xuit . GUI . clr 4 . exe:用于运行x64和以下版本的xUnit.net。net 4.0 . xuit . GUI . clr 4 . x86 . exe:用于在x86和下运行xUnit.net。net 4.0 . xuit . GUI . exe:用于运行x64及以下版本的xUnit.net。net 4.0 . xuit . GUI . x86 . exe:用于在x86和下运行xUnit.net。Net4.0 .准备项目代码:

1.创建一个名为UseXunit的空白ASP.NET核心网络项目。

2.然后修改project.json的内容如下,并在依赖项的最后一行添加对MVC组件的依赖

微软。AspNetCore.Mvc': '1.0.1 '

3.修改启动文件

添加服务。将Mvc()添加到ConfigureServices方法中;

添加应用。将UseMvcWithDefaultRoute()用于配置方法;

3.然后在项目的根目录中创建新的控制器目录,并使用以下代码添加一个家庭控制器

公共类HomeController : Controller { public IActionResult Index(){返回内容(' Hello test ');} }4.项目应该可以在这里运行。运行后,可以看到Hello测试的输出,显示已经建立了一个简单的项目。

添加单元测试项目

然后添加单元测试项,并分离一个测试项以便于管理。

1.右键单击解决方案文件,然后选择创建新的解决方案文件夹,然后将其命名为test

2.创建新的。NET核心项目下的测试目录。这里选择的项目类型是类库(。NET Core),并且命名的项目被命名为UseXunit。试验

3.然后修改测试项目的项目内容,如下所示

{ 'version': '1.0.0-*,' testRunner ' : ' xunit ',' dependencies': { 'Microsoft。NetCore . App ' : { ' type ' : ' platform ',' version': '1.0.0' },' xunit': '2.1.0 ',' dotnet-test-Xun it ' : ' 2 . 2 . 0-preview 2-build 1029 ',' UseXunit': '1.0.0 ',微软。aspnetcore.mvc' :' 1.0.1'},' framework ' : { ' netapp core 1.0 ' : { ' imports ' :[' dotnet 5.6 ',' portable-net45win8']}}}

依赖项中引入了Xxunit和dotnet-test-xuit运行支持包,当然还增加了UseXunit。

另一个关键配置是将testrunner指定为xunit

相关包将在保存后自动恢复。

4.您现在可以开始创建测试用例了

用以下内容创建一个新的HomeControllerTest类

公共类HomeControllerTest {[Fact]public void should getindexresult(){ var homeController=new homeController();var content result=Homecontroller。索引()作为ContentResult断言。NotNull(content result);断言。相等(' Hello测试',contentResult。内容);}}这里创建了一个基本的测试用例,然后可以使用熟悉的快捷键Ctrl U R(reshapper)愉快地运行测试

完整代码见https://github.com/shenba 2014/aspdotnetcoremvexamples/tree/master/usexuit

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:在ASP.NET芯用迅驰进行单元测试是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。