Как проверить автоматически сгенерированный файл 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.