单元测试Caliburn.Micro ViewModels

时间:2013-12-26 12:55:31

标签: c# unit-testing windows-phone-7 caliburn.micro

我正在使用Caliburn.Micro的MVVM方法开发Windows Phone 7应用程序。如何测试我的ViewModel?它们看起来都像这样(简化):

public class MainPageViewModel : PropertyChangedBase {
        readonly INavigationService navigationService;

        public MainPageViewModel(INavigationService navigationService) {
            this.navigationService = navigationService;               
        } 
}

INavigationService在Caliburn.Micro程序集中定义,问题是它继承自System.Windows(Windows Phone版本)中定义的INavigate。因此,当我尝试在单元测试项目中使用此类ViewModel时,我收到以下错误

  

类型'System.Windows.Controls.INavigate'在程序集中定义   没有引用。您必须添加对程序集的引用   'System.Windows,Version = 2.0.5.0,

当我尝试明确地添加对我的WP7项目中使用的System.Windows.dll的引用时,我改为添加了.NET版本(4.0.x.x)。我的VM在WP7项目中定义,我无法将它们移动到可移植类库,因为Caliburn.Nicro还不支持PCL。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我最终使用nokia developer wiki中描述的自定义单元测试框架。使用它的额外好处是我可以直接测试我的手机特定的实现,而无需使用模拟