如何在MVP模型中进行UnitTest

刚写完项目的一个UT,下面是在涉及UT时的一些新得,和以往的UT不太一样哦:
1.Model中不要有方法,提升到ViewModel级别。
2.MessageBox封装成ShowMessage(string text)方法,提升到IView中。在MockView中,设置Message属性,读取text参数值,从而可以使用Assert.IsTrue();来判断。
3.对于异步调用WCF的方法,发是发,收是收,不要care中间的过程。后者是集成测试,不在UT的范围内。
4.使用容器,将ctor拆成两部分,我们只测试无参构造函数,在主程序中则根据IoC规则,调用参数最多的ctor。
5.要测试的方法都拆分出来,所以要重构过去很多的代码。
6.CanInitView方法虽然是废话,但还是要测试。
7.测试数据都做成Mock类的静态方法。
8.MockView而不要MockViewModel,就是说只Mock有接口的类。
9.不要Mock那些Prism的东西,比如说Region、Event,我们只care数据。
10.XAML中的测试放到AcceptTest中进行。
posted @   包建强  Views(704)  Comments(1Edit  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2007-10-15 SharpDevelop研究日记 第二轮第7天
2007-10-15 SharpDevelop研究 目录
点击右上角即可分享
微信分享提示