之前用ASP.NET CORE做的项目
加了一个新功能,数据库加了个字段balabala....
更新到服务器上,新功能测试正常,然后就没管了.....
今天客户说网站有BUG,某个页面打开后出错了,以前是正常的,上去看了下,是控制器里的代码出异常了.....
就想到加了新功能后除了本地运行每个链接都点一下手工测试有没有错误的,能不能全由程序来测试,于是想到了单元测试
靠搜索补了一下单元测试的基础知识,按网上的示例跟着做,先试着写个测试DAL增删改方法的,
测试通过了,然后再按网上找到的文章
https://www.cnblogs.com/yubaolee/p/DotNetCoreUnitTest.html
写测试控制器的,结果报错:
看上面的错误以为是那个appsetting.json没有COPY到单元测试项目中,copy过去后设置为始终复制,结果还是不行,后来试着在nuget里搜索安装 microsoft.aspnetcore.server.kestrel, 安装后再运行,然后又是另一个错误,同样的是‘系统找不到指定的文件“,只是换了个包名 microsoft.aspnetcore.xxxxxx
上网又搜索了一下,看到别人说直接nuget搜索microsoft.aspnetcore.all即可,但是我试着做了,结果还是不行,原因我猜也许是因为之前的项目是用CORE 2.1来做的,而nuget里的microsoft.aspnetcore.all只有2.2版本的,
没办法,只能每在nuget里安装一个包后运行一次测试,一个包一个包的装上,最后在装了N个包后,再测试终于测试成功通过了!!!不容易啊!!!!-_-!!!!!!!
以上写的测试也许不对,没有 assert什么的,但好像对我来说行了,我只需要测试控制器出不出异常就好了。。
原文地址:https://www.cnblogs.com/niunan/p/10116960.html