본문 바로가기
728x90
반응형

BDDMokito2

@InjectMocks 한 객체에 given()을 주면 어떻게 될까? 테스트코드를 작성하면서 의존성이 있는 객체의 메소드에 given().willReturn()을 설정했는데 예상했던대로 동작하지 않았습니다. 상황을 재연하면서 그 이유와, 어떻게 동작되는지를 알아보겠습니다.  CalculatorService를 만들었고 add도메인과, sub도메인을 만들어서 덧셈, 뺄셈 기능을 사용하였습니다. 그리고 곱하기는 Multiplier 클래스를 상속받아 사용하였습니다.------------------------------------   그리고 테스트코드는 아래와 같이 작성했습니다. 처음 생각했던 것은 메소드 3개에 다 given()을 주었으니까 150이 나오겠지? 였습니다. 결과는?다르게 나왔습니다.. mul 메소드에서 제가 given()으로 준 값이 아닌 코드상의 정상적인 계산이 .. 2023. 11. 30.
Java Mockito when(), BDDMokito given() 개발을 하면서 Junit5 Unit Test Framework 를 이용한 테스트코드를 작성하는데 다른 개발자분들이 짜놓은 코드를 보니 첫번째, 두번째, 세번째 Layer 는 given() 함수로 써있는데 마지막 네번째 Layer 만 when() 함수로 작성되어있었다. 그래서 무슨 이유가 있나? 하고 두 함수에 대해 찾아보았다.  테스트를 위해 Mock 객체를 만들고 리턴값을 설정하기 위해 Mockito의 when()함수를 쓰거나 BDDMockito의 given() 함수를 사용한다. 이 둘의 차이점에 대해 간단히 알아보자.   BDD(Behavior-Driven Development) 란? - 행위 주도 개발 - 테스트 대상의 상태의 변화를 테스트하는 것이고, 시나리오를 기반으로 테스트하는 패턴을 권장 -.. 2022. 8. 8.
728x90
반응형