繁体   English   中英

如何在MVVM-Light框架中进行单元测试视图模型?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM