Java думает, что мой поддельный объект класса Course равен нулю в строке, когда (). ThenReturn ().
class StudentTest {
@Mock
Course courseMock1;
@Test
void student_getTeacherNames_should_return_list_of_full_names() {
when(courseMock1.getEAP()).thenReturn(1);
}
public class Course {
public Course(String courseName, String name, LocalDate startDate, LocalDate endDate, Integer EAP, Teacher teacher) {
this.courseName = courseName;
this.name = name;
this.startDate = startDate;
this.endDate = endDate;
this.EAP = EAP;
this.teacher = teacher;
}
public Integer getEAP() {
return EAP;
}
}
Я пробовал:
@RunWith(MockitoJUnitRunner.class)
class StudentTest{...
-
@Before
public void setup(){
MockitoAnnotations.initMocks(this);
}
-
@Rule public Mocks mocks = new Mocks(this);
, ни один из которых не решает NPE.
Также пробовал (с использованием в качестве одного из параметров объекта-учителя)
@Mock
Course courseMock1 = new Course(params..);
, что привело к: MissingMethodInvocationException: когда () требуется аргумент, который должен быть «вызовом метода для макета»