let’s say there is a Shape interface.

interface IShape { double Area(); }

A Rectangle class and a Triangle class implement it. Now should i write tests for:

  1. IShape interface and test both implementations in a single test file?
  2. Write tests for Rectangle and Triangle class separately, testing their implementation of Area() ?
  3. Do something else?

From what I see I am testing implementations either ways. How do you even test an interface without testing the implementation? Can someone please help clarify my doubts? Thanks!

  • kakes@sh.itjust.works
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    11 months ago

    Not an “expert” in testing per se, but I’m not sure I would ever attempt to “test” an interface. As you said, there is no implementation. You can only test implementation, so #2 in your list.