如何在第一个方法调用第二个方法的同一个类中对2个方法进行单元测试?

时间:2010-12-23 02:31:11

标签: unit-testing testing

假设我有一个包含2个公共方法的MyClassmethodA()methodB(),它们都返回相同类型的对象。

methodA()会进行一些计算,然后拨打methodB

我该如何测试这门课程?我是否必须在methodA()上重复我对methodB()所做的所有测试?

如何处理?

由于

3 个答案:

答案 0 :(得分:2)

独立测试,因为这是客户看到它们的方式。

答案 1 :(得分:2)

您应该测试methodA(),就好像您不知道它是如何实现的那样。然后,如果您将其更改为将来使用methodC()而不是methodB(),那么您仍然可以覆盖。

答案 2 :(得分:1)

这取决于所测试的代码以及您希望的彻底程度。如果methodA()的结果是由methodB()实现的,那么你可以只测试methodA(),但是duffymo说它最好测试两者,而且正如robert所说的那样最好为methodA()编写测试代码,好像你没有我知道它是通过methodB()实现的,而且对于methodB()也是如此。由于methodA()和methodB()都是公共的,因此每个都应单独测试。但是最好是方法A()的测试确保方法A()完成它的工作并且方法B()的测试确保方法B()完成它的工作,所以测试不应该真的相同。