У меня есть такой класс:
public final class Foo
{
public native int getBar();
public String toString()
{
return "Bar: " + getBar();
}
}
Обратите внимание, что getBar () реализован с использованием JNI и что класс final .Я хочу написать тест junit для проверки метода toString () .Для этого мне нужно смоделировать метод getBar () и затем запустить оригинальный метод toString () , чтобы проверить вывод.
Сначала я подумал, чтобыло невозможно, но потом я обнаружил PowerMock , который поддерживает тестирование финальных классов и собственных методов в соответствии со списком возможностей.Но до сих пор у меня не было успеха с этим.Лучшее, что мне удалось, - это смоделировать весь класс, но затем тест протестировал смоделированный метод toString () вместо реального, который не имеет большого смысла.использовать PowerMock для проверки этого toString () метод сверху?Я предпочитаю использовать PowerMock с Mockito , но если это невозможно, у меня нет проблем с использованием EasyMock .