0
Конструктор InetAddress не отображается, поскольку используется шаблон фабрики.Как издеваться над InetAddress.getLocalHost() с помощью JMockit
final InetAddress anyInstance = InetAddress.getLocalHost();
new NonStrictExpectations(InetAddress.class) {
{
anyInstance.getHostAddress();
result = "192.168.0.101";
}
};
Когда я пытаюсь использовать фабричный метод для получения экземпляра для частичных насмешек я получаю ошибку:
java.lang.IllegalStateException: Missing invocation to mocked type at this point; please make sure such invocations appear only after the declaration of a suitable mock field or parameter
Похоже, что это не правильно частично насмехается в сочетании с захватом. Когда я запускаю ваш точный код, я получаю: mockit.internal.UnexpectedInvocation: Неожиданный вызов: java.net.InetAddress # getLocalHost() Если я установил его как NonStrictExpectations, я получаю исключение из null-указателя, потому что getLocalHost возвращает null. Я использую JMockit 1.8, который выглядит год. Я посмотрю, исправляет ли его более новую версию. – johnjamesmiller
выглядит как проблема с 1.8. он отлично работает в 1.17. не знаю, какая версия была исправлена. Спасибо за вашу помощь! – johnjamesmiller