Немного сложно объяснить ситуацию на самом деле.Я издеваюсь над классом и передаю его конструктору другого класса.Затем я создаю первый класс и вызываю метод первого класса в методе второго класса, он возвращает ноль.Пожалуйста, проверьте ниже:
class A {
public String getName() {
return "Something";
}
}
class B {
private A a;
public B(A insA) {
this.a = insA;
}
public String createName() {
return a.getName(); // when this is called, returns null.
}
}
class TestB {
public testBSomething() {
A mockA = mock(A.class);
when(mockA.getName()).thenReturn("Somevalue");
B insB = new B(mockA);
assertEqual("SomeValue", insB.createName()); // insB.createName() = null which should return "Somevalue"
}
}
Я также попробовал doReturn, затем ответ и варианты шпиона, но не повезло.Возможно, я что-то упустил, но не смог найти.Если у кого-то есть идея, я буду очень признателен.Спасибо.