【发布时间】:2009-06-01 17:29:30
【问题描述】:
我正在努力将尽可能多的逻辑从自定义控件中移出,以便对其进行单元测试以减少手动测试的负担。我遇到了被测方法产生复杂结果的情况;编写一个计算结果的测试用例将涉及将本质上是被测代码的内容写入测试本身。
例如,我有一个 GeometryGenerator 类,它根据类的属性创建 WPF 几何图形。在一种配置中,会生成一个由ArcSegment 组成的PathGeometry。我可以根据测试参数计算弧的属性应该是什么,但这个计算与我试图测试的代码相同。这似乎会使测试无效;如果计算中有错误,则测试中也会有错误,如果计算方法发生变化,则可能必须在测试中进行更改。
遇到这种情况我该怎么办?我想出的唯一方法是手动计算我的测试用例的结果并将这些值硬编码到测试中。这是一种可以接受的方法吗(如果我在实现之前编写测试,我会这样做)?
【问题讨论】:
标签: unit-testing