【问题标题】:MVVM Unit TestingMVVM 单元测试
【发布时间】:2020-06-18 15:32:47
【问题描述】:

由于分离和测试能力的额外好处,我使用 MVVM 在 WPF 中开发了一个应用程序。但是,我正在尝试编写一些单元测试作为其中的一部分,但对要测试的内容感到困惑。我知道如何编写单元测试,但我不确定我应该在视图模型中测试什么,它由我的数据绑定属性和某些逻辑的方法组成。

此外,我的大多数视图模型方法都是私有的,因为它们只需要从视图模型内部访问,因此不能像公共方法那样通过单元测试简单地对其进行测试。这导致能够测试很少的视图模型,这与 MVVM 在测试方面的假定值相反,并且从质量 POV 来看是不利的,因为我必须依靠手动测试来证明我的代码的功能。

我可能是错的,并且是使用 MVVM 的新手,但是对于如何进行此操作,我们将不胜感激。

【问题讨论】:

    标签: c# wpf unit-testing mvvm


    【解决方案1】:

    当我编写 WPF 应用程序时,我将测试重点放在模型上。

    我通过调用命令和设置属性来测试视图模型,就像用户使用用户界面所做的那样。对于仅一对一包装模型或使用 4 行代码调用服务的普通视图模型,我不编写任何初始测试。

    一旦我在运行应用程序时发现无法按预期工作的内容,我就会返回并为该特定用例编写测试。最初的“错误”通常显示在特定视图模型中实现的棘手问题,并且是编写更多测试并以更多测试驱动的方式继续开发的良好起点。

    【讨论】:

      【解决方案2】:

      您可以测试用户可以在您的 UI 上执行的相同操作。

      根据定义,这些东西将是公开的,因为视图将绑定到它们。

      例如。假设您有一个 Widgets 集合和一个 AddWidgetCommand。您可以测试执行该命令是否会将一个小部件添加到集合中。

      【讨论】:

        猜你喜欢
        • 2023-03-17
        • 1970-01-01
        • 1970-01-01
        • 2012-09-02
        • 1970-01-01
        • 2013-08-10
        • 2012-06-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多