[英]How do I go about unit testing view models in the MVVM-Light framework?
我的具体问题是,何时在MVVM-Light示例之后对viewmodel构造函数进行建模,就像这样一个
public MainViewModel()
{
if (IsInDesignMode)
{
BackgroundBrush = new SolidColorBrush(Colors.Orange);
}
else
{
Messenger.Default.Register<Brush>(
this,
true,
m => BackgroundBrush = m);
ShutdownCommand
= new RelayCommand(ShutdownService.RequestShutdown);
}
}
应该测试一下吗? 我应该测试什么? 看来我应该测试该类是否已注册以侦听消息,以及是否连接了ShutdownCommand。 我当前的问题是ShutdownCommand已安装并调用了它应该调用的东西。 我还不太了解TDD,所以也许我只是在问所有错误的问题。
您可以在收到画笔消息时测试MainViewModel的行为。 您还可以测试ShutdownCommand不为null。 单元测试是关于测试对象的公共状态,行为和交互的。 如果仅在构造函数中设置一个私有字段,那么要测试什么? 不要为简单的访问器和更改器进行单元测试。 那只是愚蠢的,对任何人都没有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.