Я пытаюсь протестировать служебный класс, имеющий статические методы, большинство из которых статические, и возвращающий Optional. Многие другие объекты и параметры передаются в качестве параметров, которые я смоделировал с помощью Mockito. Я использую PowerMock для вызова статических методов.
Проблема заключается в том, что когда я использую команду verify после фактического вызова метода, я хочу проверить, т.е. MyUtil.getJob (JobManager, "_TEST_dummy_JOBGROUP", Optional.of ("CWB-4"));
Это не вызов другого метода, который он должен вызывать. т.е.
JobUtil.testDummy () ;;
Ошибка на консоли, вставленная ниже
Я попробовал использовать предикат, а также дать реальный предикат, когда вы прокомментировали первую строку в моем тесте.
Я пытался вызвать когда .. затем и комментировать, а также вызывать реальный метод.
Но безуспешно.
Просьба игнорировать любые опечатки в коде, поскольку я только что создал пустышку.
MyUtilTest.java
@RunWith(PowerMockRunner.class)
@PrepareForTest(MyUtil.class)
public class MyUtilTest {
@Mock
JobManager JobManager;
@Mock
Job Job;
@Mock
JobMetadata JobMetadata;
@Mock
private Predicate<Map.Entry<Job, JobMetadata>> predicate;
@InjectMocks
MyUtil MyUtil = new MyUtil();
private ArgumentCaptor<Job> JobArgument = ArgumentCaptor.forClass(Job.class);
@Test
public void testGetJobGroupPredicate() {
//Predicate<Map.Entry<Job, JobMetadata>> jobGroupMatcher = MyUtil.getJobGroupPredicate(jobMeta -> eq("TEST_dummy_JOBGROUP").startsWith(jobMeta));
PowerMockito.mockStatic(MyUtil.class);
when(MyUtil.getJobGroupPredicate(j->"_TEST_dummy_JOBGROUP".startsWith(j))).thenReturn(predicate);
when(JobUtil.testDummy()).thenReturn("called");
try {
MyUtil.getJob(JobManager, "_TEST_dummy_JOBGROUP", Optional.of("TEST-4"));
}
catch(Exception e){}
PowerMockito.verifyStatic(MyUtil.class);
MyUtil.testDummy();;
}
MyUtil.java
public class MyUtil {
public static Optional<Job> getJob(final JobManager jobManager,
final String jobGroup,
Optional<String> feature) throws PlatformClientException {`
String test=MyUtil.testDummy();
Predicate<Map.Entry<Job, JobMetadata>> jobGroupMatcher = getJobGroupPredicate(jobMeta -> jobGroup.startsWith(
jobMeta));
return getWithPredicate(jobManager, jobGroupMatcher, feature);
}
static String testDummy() {
return "helloooooo";
}
}
Требуется, но не вызывается de.dummy.cloud.wh.jobs.utils.MyUtil.testDummy ();
Однако с этим mockde.dummy.cloud.wh.jobs.utils.MyUtil.getJob было ровно 1 взаимодействие
Макет для JobManager, hashCode: 1871312485,
"_TEST_dummy_JOBGROUP",
Опция [TEST-4]
);
,
Требуется, но не вызывается de.dummy.cloud.wh.jobs.utils.MyUtil.testDummy ();
Однако с этим mockde.dummy.cloud.workbench.jobs.utils.MyUtil.getJob было ровно 1 взаимодействие
Макет для JobManager, hashCode: 1871312485,
"_TEST_dummy_JOBGROUP",
Опция [TEST-4]
);