如何在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 @ 2009-10-15 12:36  包建强  Views(703)  Comments(1Edit  收藏  举报