假设我有一个包含2个公共方法的MyClass
类methodA()
和methodB()
,它们都返回相同类型的对象。
methodA()
会进行一些计算,然后拨打methodB
。
我该如何测试这门课程?我是否必须在methodA()
上重复我对methodB()
所做的所有测试?
如何处理?
由于
答案 0 :(得分:2)
独立测试,因为这是客户看到它们的方式。
答案 1 :(得分:2)
您应该测试methodA()
,就好像您不知道它是如何实现的那样。然后,如果您将其更改为将来使用methodC()
而不是methodB()
,那么您仍然可以覆盖。
答案 2 :(得分:1)
这取决于所测试的代码以及您希望的彻底程度。如果methodA()的结果是由methodB()实现的,那么你可以只测试methodA(),但是duffymo说它最好测试两者,而且正如robert所说的那样最好为methodA()编写测试代码,好像你没有我知道它是通过methodB()实现的,而且对于methodB()也是如此。由于methodA()和methodB()都是公共的,因此每个都应单独测试。但是最好是方法A()的测试确保方法A()完成它的工作并且方法B()的测试确保方法B()完成它的工作,所以测试不应该真的相同。