вы на самом деле не увеличиваете сложность, делая это. Вы просто скрываете сложность, НЕ делая этого. вы должны разрабатывать для тестируемости для начала

я есть такой класс:

public final class Foo
{
    public native int getBar();

    public String toString()
    {
        return "Bar: " + getBar();
    }
}

Обратите внимание, чтоGetBar () реализуется с помощью JNI и что классокончательный, Я хочу написать тест Junit для проверкинанизывать() метод. Для этого мне нужно издеватьсяGetBar () метод, а затем запустить оригиналнанизывать() способ проверить вывод.

Моя первая мысль была о том, что это должно быть невозможно, но потом я нашелPowerMock который поддерживает тестирование финальных классов и нативных методов в соответствии со списком возможностей. Но до сих пор у меня не было успеха с этим. Лучшее, что мне удалось, - это издеваться над классом, но затем тестирование проверилонанизывать() метод вместо реального, который не имеет особого смысла.

Так как я могу использовать PowerMock для проверки этогонанизывать() метод сверху? Я предпочитаю использовать PowerMock сMockito но если это невозможно, у меня нет проблем с использованиемEasyMock вместо.

Ответы на вопрос(0)

Ваш ответ на вопрос