将 Windows 表单单元测试迁移到 WPF



我在Winforms中有一个项目,我使用MBUnit进行单元测试。现在我们计划将这个项目(在Winforms中)迁移到WPF。我们是否应该从头开始编写 WPF 的单元测试,或者我们可以重用现有的 Windows 窗体单元测试?

众所周知,WPF 是声明性的,但在内部它会转换为 c# 代码。所以我觉得它可以重复使用。如果有任何机构在这种情况下工作过,请提供帮助。

我所知道的都是"但是"和"如果"。

这实际上取决于 UI 代码和业务逻辑之间的分离程度。在理想情况下,您有明确的分离,这意味着您的业务逻辑将很容易与 UI 技术和端口无关。但是,如果您的 UI 代码和业务逻辑纠结并对 UI 技术做出假设,那将更加困难。

另外一点:WPF 是一种非常可测试的,它鼓励使用单元测试友好的编码模式模型视图视图模型 (MVVM)。如果您正在启动新的 WPF 项目,我强烈建议您研究 MVVM 和单元测试。

哇...似乎它有很多炒作...但它充其量是 4 年前的(最多 7 个......

话虽如此,答案是:也许吧。

如果你的单元测试只测试逻辑和方法以确保有效的行为,你应该很好。

如果你的单元测试纠缠在 winform 中并依赖它们获得结果,你就不会那么好。

好的单元测试不应该关心视图,而应该测试应用程序的逻辑/模型。MVVM 对这种方法非常友好。

没有代码或示例,真的很难回答你的问题。

我以前在WinForms应用程序中使用过MVP(模型视图演示器)模式,因为我想对表示逻辑进行单元测试。MVP 模式在控件和表示逻辑之间提供了一个抽象层。如果您的 WinForms 应用程序使用此模式或此模式的变体编写,则您应该能够重用某些单元测试。

在对 WPF 应用程序进行单元测试时,您可能应该使用 MVVM 模式。在 MVVM 模式中,大多数表示逻辑都位于视图模型中。视图模型不与 UI 元素耦合,因此它们应该是可单元测试的。

我的

直觉是这是一个坏主意,如果这是我,那么我会从头开始为我的 WPF 应用程序编写单元测试。

最新更新