在基于mvvm prism的应用程序中使用moq弹出单元测试对话框

时间:2014-01-03 09:37:40

标签: c# wpf unit-testing mvvm

我是使用prism的mvvm应用程序中的单元测试视图模型。我正在使用moq来测试视图模型。我遇到了一个问题,我正在单元测试一个方法,该方法本身调用另一个方法,并进一步调用密码对话框弹出。因为我是单元测试第一种方法,所以我怎么能压制对话框弹出,因为我无法控制,直到我的函数返回。另外我还要单元测试是否弹出了对话框。

1 个答案:

答案 0 :(得分:1)

我建议您通过编写一个简单的UIService来测试您的VM,这将提升您的弹出窗口和对话框。这将获得你的可测性(你很容易编写一个模拟服务)和一般的好设计approch,因为我们没有看到我们的视图模型来提高弹出窗口(想象你想要在手机中重用vm \ tablet app)。

这是一幅草图:

        public interface IUIService   
        {   
            bool ShowPopUp(....);

            DialogResult ShowDialog(...);

            ..  
        }