Как проверить автоматически сгенерированный файл Java, используя JUnit для моего AIDL

Я использую eclipse для написания тестового примера JUnit для моего проекта. Мой проект содержит связанный сервис на основе AIDL. После выполнения проекта я получаю автоматически сгенерированный Java-файл для AIDL в папке gen.

Этот файл содержит класс Stub, который имеет такие методы, как

    public android.os.IBinder asBinder()
    public boolean onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags) throws android.os.RemoteException

и прокси-класс, который имеет методы

public android.os.IBinder asBinder()
public java.lang.String getInterfaceDescriptor()

а также некоторые методы, созданные мной. Я хочу проверить вышеуказанные методы с помощью JUint Test . Можно ли проверить эти методы с помощью ServiceTestCase или я могу проверить это с помощью другого метода.

1 ответ

Решение

Мне удалось протестировать методы моего класса-заглушки, используя следующий код в моем testProject

IBinder service = this.bindService(new Intent(MyService.class.getName()));
        MyFile iTestServiceCall = MyFile.Stub.asInterface(service);
        b=service.transact(0, data, null, 0);
        assertTrue("Value is still false", b);
        assertNotNull("Value is null",iTestServiceCall.asBinder());

Здесь MyService - это сервис, который я создал, а MyFile - это Aidl.

Другие вопросы по тегам