Можно ли переопределить нативный метод в классе Java в Android / dalvik?

Я юнит тестирую классTestMe используя EasyMock, и один из его методов (скажем,method(N n)) ожидает параметр типаN который имеет нативный метод (скажем,nativeMethod()).

class TestMe {
    void method(N n) {
        // Do stuff

        n.nativeMethod();

        // Do more stuff
    }
}

method() должен вызватьN.nativeMethod() в какой-то момент, и проблема, с которой я сталкиваюсь, заключается в том, что мой фиктивный объект Easymock для N не может переопределить собственный метод. Я не владею классом N, но могу рефакторингTestMe в любом случае необходимо.

Я решил сделать свой собственный классFakeN extends N который переопределяетnativeMethod ничего не делать:

class FakeN extends N {
    FakeN(int pointer) {
        super(pointer);
    }

    @Override
    public void nativeMethod(Object o) {
        // super.nativeMethod() is an actual native method defined as:
        // public native void nativeMethod(Object o)
        //
        // IGNORE
    }
}

но в то время как компилятор не жалуется, когда я запускаю тест, кажется, чтоN.nativeMethod() тот, который вызывается, а неFakeNверсия с.

Есть ли обходной путь, который я могу использовать?

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

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