Tôi có 4 lớp cho phép A, B, C, D gọi từng phương thức từ một phương thức khác.các cuộc gọi phương thức lồng nhau giả sử dụng mockito
Bây giờ tôi đã chế giễu lớp A, và muốn thử một phương pháp sử dụng Mockito
A a = Mockito.mock(A.class);
và muốn để có được "foo" trên phương pháp đệ quy gọi như
a.getB().getC().getD()
nên trở "foo"
Tôi đã thử
khi (a.getB(). GetC(). GetD()). ThenRet urn ("foo");
nhưng có NullPointerException
sau đó tôi đã cố gắng
doReturn ("foo") khi (a.getB() getc() getD()...);
sau đó tôi đã org.mockito.exceptions.misusing.UnfinishedStubbingException:
Tôi biết tôi có thể tạo các đối tượng của B, C và D, hoặc thậm chí có thể viết một cái gì đó giống như
B b = giả (B.class) hoặc A .setB (mới B())
v.v.
Nhưng tôi không thể làm điều đó trong một cảnh quay? Mọi trợ giúp sẽ được đánh giá cao.
RETURNS_DEEP_STUBS! Xem http://static.javadoc.io/org.mockito/mockito-core/2.6.3/org/mockito/Mockito.html#RETURNS_DEEP_STUBS –