针对Windows窗体的单元测试

本文关键字:单元测试 窗体 Windows 针对 | 更新日期: 2023-09-27 18:30:12

我是单元测试的新手,正在使用Visual Studio,我有一个名为mm_x的公共变量,它是在表单中的函数中计算的(而不是在类中),当我尝试进行测试时,我找不到从UnitTest方法引用它的方法。测试类中的其他变量很容易,但这个特定的变量我找不到最好的方法

我应该:

将变量计算的所有逻辑放在业务类的表单中,然后对业务类进行单元测试?将表单逻辑保留在表单中,并以某种方式对表单进行单元测试?

作为参考,下面是表单中的方法,其中包含我试图测试的变量:(poi_navegac_individual和MR是我使用的两个类,但我对讨论mm_X的结果感兴趣)

 private void Leer_NDI_tracker(object sender, EventArgs e)
        {
            if (MR != null)
            {
                mm_X = poi_navegacion_individual.POR_x * Convert.ToDecimal(MR.MR0) + poi_navegacion_individual.POR_y * Convert.ToDecimal(MR.MR1) + poi_navegacion_individual.POR_z * Convert.ToDecimal(MR.MR2) + Convert.ToDecimal(MR.MR9);
            }
         }

谢谢你,

针对Windows窗体的单元测试

我建议研究实现Windows窗体应用程序的MVC(模型、视图、控制器)方法。它有助于保持UI和代码的分离。

我个人没有使用过它,因为我只使用过使用MVVM(Model,View,ViewModel)的WPF应用程序,但这两个模型背后的原因相似,因为它们旨在分离代码和UI。

在这里查看有关实现MVC的更多信息:您将如何在Windows窗体应用程序中实现MVC?

正如您在问题中提到的,您应该将所有业务逻辑与UI元素分离。这不仅可以方便地测试您的计算,还可以使该方法可供程序的其他部分重用。