【发布时间】:2009-11-23 12:53:21
【问题描述】:
假设我们有这个超简单的类层次结构:
public class SomeMath
{
public int Add(int x, int y)
{
return x + y;
}
}
public class MoreMath : SomeMath
{
public int Subtract(int x, int y)
{
return x - y;
}
}
当我为MoreMath 类编写测试时,我应该为Add 方法编写测试吗?或者我应该只在测试SomeMath 类时关心该方法?更一般地说:我应该测试一个类的所有方法,还是应该只测试“新”方法?
我可以为双方提出一些理由。例如,在测试所有方法时,您最终会多次测试同一事物,这不是很好,而且可能会变得乏味。但是,如果您不测试所有方法,SomeMath 的更改可能会破坏MoreMath 的用法?这也将是一件坏事。我想这可能也取决于情况。就像它是否扩展了我可以控制的类。但无论如何,我是一个完全的测试新手,所以我很想知道有什么人比我想象的更聪明:-)
【问题讨论】:
-
考虑到您提出的问题没有明确的正确或错误答案,我认为仅在 7 分钟后接受答案是个坏主意。
标签: c# unit-testing class-hierarchy