How to write Junit for Interface default methods

后端 未结 5 2093
梦如初夏
梦如初夏 2021-02-05 15:24

Please help in writing Junit for the interface default method.

public interface ABC {
    default List getSrc(DEF def, XYZ xyz) t         


        
5条回答
  •  遇见更好的自我
    2021-02-05 16:13

    The answer is very straight forward. No mocking or spying needed for this just create an anonymous object for interface without overriding default methods.

    Ex:

    interface Adder {
      default sum(Integer...n) {
        return Arrays.stream(n).reduce(0, Integer::sum);
      }
    } 
    
    // Junit 4
    class AdderTest {
    
      private Adder adder;
    
      @Before
      public void setup() {}
        adder = new Adder(){}; // not overriding default methods
      }
    
      @Test
      public void testSum() {
        Assert.assertEquals(3, adder.sum(1, 2));
      }
    }
    

提交回复
热议问题