在此记录下使用VS2010创建单元测试的方法。
首先打开要测试的具体实现方法,对其右键选择创建单元测试
这里可以一次性选择要测试的方法,而输出项目则可以选择已经存在的测试项目或者创建新的测试项目
在设置里面把“允许InternalsVisibleTo特性”去掉,其他选项看情况吧
然后就会自动生成下面的代码了,
对测试方法右键选择运行测试就可以对方法进行测试了,不过直接运行会出错的,需要把[HostType("ASP.NET")]跟[UrlToTest("http://localhost:1480/")]去掉,并且对方法的参数进行初始化就可以运行测试了。
这里说一下,Assert是断言,就是对方法的返回值进行预期判断,如果预期值与实际值相同则可以通过测试。当然Assert还有其他的方法,具体可以自己看一下。
写了多个测试方法之后,就可以一次性对所有的测试方法进行测试了,选择VS的菜单栏,测试->创建新测试列表,然后就可以选择要测试的方法进行测试了。
要注意一下的是,如果你的测试方法中有些测试数据是有关联的,就是A方法创建的数据B方法调用,这样可能会导致出错的,虽然可以使用特性来处理
不过我还是习惯每个测试方法都先创建要测试的数据,方法结束前再把数据删除,这样就不怕影响到其他的单元测试了。
如果希望查看测试方法的代码覆盖率,可以右键解决方案,选择文件夹取消隐藏
双击Local.testsettings打开测试设置,把数据和诊断中的代码覆盖率勾上
确定后,双击OrderingWCFService.vsmdi就可以运行测试了,测试完之后可以右击测试方法,选择代码覆盖率进行查看了,绿色代码是已经覆盖了的,而红色则是没有覆盖的。
好了,单元测试告一段落了,以后有学到什么新的知识再进行补充。