Мне нужно написать единичный тест для некоторых статическихvoid
методов с неизвестным/непредсказуемым побочным эффектом. Например,Единичный тест для метода пустоты
public void doSth() {
try {
HttpPostUtil.sendRequest("abc", "xyz");
} catch(Exception ex) {
ex.printStackTrace();
}
}
HttpPostUtil
находится в другом файле фляги. Это вне моего контроля, и оно опубликует данные для некоторых веб-сервисов. Какова методология тестирования, которую мы могли бы сделать в этой ситуации? (PowerMockito
здесь не допускается :()
Здесь вы можете более или менее ничего сделать. Если вы не можете использовать код, вы не можете перехватить вызов 'sendRequest'. В лучшем случае вы можете изменить 'System.err' и перехватить' printStackTrace', но ваш HTTP-вызов должен был бы как-то свалиться и выбросить исключение. –
Я не понимаю, почему PowerMockito ограничен (на самом деле, вам даже не нужно, если вы уже используете Mockito, когда вы отметили его в вопросе). Во всяком случае, это зависит от того, что вы хотите/нуждаетесь в том, чтобы насмехаться и что вам нужно проверить. Поскольку вы не указали эту точную информацию, вам действительно сложно понять, чего вы хотите/должны выполнить. –
@LuiggiMendoza С помощью 'PowerMockito', будет легко проверить статический метод –