DEV Community

Discussion on: Code Smell 135 - Interfaces With just One Realization

 
gorynych profile image
Stepan Mozyra

"Why not test the Car with a DieselEngine ?" - This is idea behind unit tests :) to have a single unit under the test.

If you do unit testing in your project - you will always have two implementations of your interfaces.

"This is a real business scenario" - Testing of business scenarios is just an another kind of tests.

Thread Thread
 
mcsee profile image
Maxi Contieri

Right !

You have two interfaces realizations. Therefore this code smell does not apply anymore

Thread Thread
 
davidkroell profile image
David Kröll

Can I use your code snippet in another smell ?

Yes feel free.

It depends on what you call a unit I think, bit you're right. If the DieselEngine is testable at all (could be a real DieselEngine which is not availabe during CI test run, etc).

Thread Thread
 
mcsee profile image
Maxi Contieri

Build your abstractions with TDD so they will be testaable from their inception