У меня есть эта линия, которая interferring в модульном тесте:Как обойти вызовы статических методов?
OtherClass.staticMethodThatWillErrorIfCalled().isAvailable();
Если бы не было статичным, я мог бы просто фиктивный OtherClass, а затем сделать это:
Mockito.doReturn(null).when(mockedOtherClass).staticMethodThatWillErrorIfCalled();
Mockito.doReturn(true).when(mockedOtherClass).isGuiMode();
и тот факт, что он будет ошибка, вызванная тем, что мои попытки использовать powermockito бесполезны.
Я не уверен, как я могу это сделать. Все, что я хочу сделать, это пропустить эту строку (это проверка if) и продолжить, как если бы она вернулась. Каков наилучший способ сделать это?
Пожалуйста, размещайте дополнительную информацию, весь тест устройства будет хорошим началом. Проверяется ли статический метод в классе? –
Макет. Вы * можете * издеваться над статикой. –
@AlexBuyny Я просто выполняю метод в ClassToBeTested, но этот метод имеет проверку if, о которой я говорю, которая вызовет этот статический метод, который вызывает ошибку. Я не забочусь о тестировании статического метода или чего-либо еще в OtherClass. Я просто хочу получить истинное значение, возвращаемое, чтобы я мог выполнить и протестировать метод в ClassToBeTested – Aequitas