在单元测试项目中引用System.Windows.Form是不好的做法吗?

时间:2009-08-19 20:02:21

标签: c# .net unit-testing .net-3.5

我有一个课,我想测试DialogResult的值。要获得该类型,我需要添加对System.Windows.Forms的引用。

将这个包含在测试项目中是不好的做法?

4 个答案:

答案 0 :(得分:2)

如果你只需要DialogResult的枚举定义,我没有看到任何问题。

如果您使用该库来显示UI,那么从自动化的角度来看这将是一件坏事,除非这个自动化套件专门设计用于自动测试UI(我猜它不是或者你已经有了参考) )。

答案 1 :(得分:2)

您的测试本质上与形式相关吗?如果不是,则类型本身不应引用DialogResult。如果它 (我怀疑它是)那么你的测试也与表格相关是完全合理的。

答案 2 :(得分:2)

包括您可以在没有任何人为干预的情况下运行的单元测试所需的任何内容,或期望它被观察到。

如果您想查看表单中的某些内容是否正确显示,那么您正在进行功能测试。

如果您发现必须对表单进行大量测试,那么您的表示层(视图层)可能有太多的业务逻辑,您可能希望将业务逻辑移动到可以是单元的类中 - 与任何涉及表格的事物分开测试。

如果您只需要一些与实际创建表单无关的Windows.Forms枚举或辅助类,那么单元测试就可以了。

答案 3 :(得分:1)

这取决于您的设置和测试项目的要求,但作为一般规则,我会说这样做是不错的做法;虽然根据我的经验,相对不常见的做法。