我正在使用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。有什么建议吗?