у нас есть следующий метод внутри класса C:
public static void m(a A, b B)
{
......
A1 a1=new a.getA1; //Not sure about the syntax
Double d1= a.getInfo;
.....
if (d1>5.0)
{
b.add(d1,a1)
}
}
A - другой класс.Внутри A у нас есть переменная, объявленная как тип класса A1 (я думаю, это делает A агрегированным классом).Я определил следующее как фиктивные объекты:
private mockA = mock(A.class);
private mockA1 = mock(A1.class); // Please help with syntax
private mockB = mock(B.class)
Также
when(mockA.getInfo()).thenReturn(6.4);
when(mockA.getA1()).thenReturn(mockA1); //Please help with syntax
when(mockA1.m2()).thenReturn("Some More Details"); // Please help with syntax
m(mockA, mockB);
// In case > 5.0
verify(mockB,times(1)).add(6.4,mockB);
//in case < 5.0
verify(mockB,times(0)).add(anyDouble,any(B.class));
Не могли бы вы помочь, если синтаксис для насмешливого объекта А1, и использовать его, когда / проверять правильно?
Другой вопрос: если нет необходимости создавать макет для a1, какой синтаксис следует использовать?Например, хорошо ли следующее?
when(mockA.getA1().m2())).thenReturn("Something");
Спасибо