0

テストには Mockito フレームワークを使用しています。今、私は次の問題を抱えています。

これは私がテストしたいクラスです。

@Service
public class Parent{

   @Autowired
   private Child child;

   public void setChildDetails(ChildDetails childDetails){
      childDetails.validate();
      ....
      int age = childDetails.getAge();  
   }

}

これは私のテストです。

public class ParentTest {

    @InjectMocks
    private Parent parent;

    @Mock
    private Child child;

    @Before
    public void setup() {
        initMocks(this);
    }

    @Test
    public testParentMethod(){
         .....
    }

    @Test
    public testChildDetailsMethod(){
        ChildDetails childDetails = new ChildDetails();
        childDetails.setAge(20);
        parent.setChildDetails(childDetails); 
    }

}

Mock for Child プロパティがその役割を果たします。問題は、childDetails.validate() (このメソッドのみ) をモックし、他のメソッドをそのままにしておきたいことです (getAge() は 20 を返す必要があります)。この問題を解決する方法を提案できますか?

4

1 に答える 1