单元测试对话框在基于 MVVM 棱镜的应用程序中使用最小起订量弹出



我是使用棱镜的 mvvm 应用程序中的单元测试视图模型。我正在使用最小起订量来单元测试视图模型。我遇到了一个问题,我正在对一个方法进行单元测试,该方法本身调用另一个方法,并进一步调用密码对话框以弹出。由于我正在对第一种方法进行单元测试,因此如何抑制对话框弹出,因为我无法控制,直到我的函数返回。此外,我还想单元测试对话框是否已弹出。

我建议您通过编写一个瘦 UIService 来使您的 VM 可测试,这将引发您的弹出窗口和对话框。这将为你赢得可测试性(你很容易编写一个模拟服务)和一个良好的设计应用,因为我们不希望我们的视图模型引发弹出窗口(假设你想在手机\平板电脑应用中重用虚拟机)。

这是草图:

        public interface IUIService   
        {   
            bool ShowPopUp(....);
            DialogResult ShowDialog(...);
            ..  
        }

最新更新