Sunday, 15 September 2013

Is assuming that another unit test has tested the input of the unit code breaking isolation?

Is assuming that another unit test has tested the input of the unit code
breaking isolation?

I understand that unit tests must be as isolated as possible, i.e. are
self-contained and do not have to rely on outside resources like
databases, network access or even the execution of previous unit tests.
However, suppose I want to test class Y. Class Y uses class X. However, I
have already a number of unit tests that test class X.
I think that in the unit tests of class Y, I could just assume that class
X works properly and use instantiations of it to test class Y
(instantiated in the class Y unit tests, so no leftovers or other
pollution).
Is this correct? Or do I need to mock class X when testing class Y or do
something else entirely? If so or if I should mock class X, what are the
reasons for that?

No comments:

Post a Comment