Как протестировать объекты @parcel, как если бы они были отправлены через действия
Когда я тестирую аннотированные модели @parcel, я получаю один и тот же объект (даже при использовании Bundle
, или же Intent
):
@Test public void parcel() {
MyObject myObject = new MyObject("123");
Parcelable parcelable = Parcels.wrap(myObject);
MyObject in = Parcels.unwrap(parcelable);
// myObject == in (same id)
}
Как смоделировать ситуацию, когда модель передается от одного вида деятельности к другому, следовательно, воссоздается?
обновление: возможно, потребуется использовать это.
1 ответ
Решение
Используя этот файл:
@Test public void parcel() {
MyObject myObject = new MyObject("123");
MyObject in = Parcels.unwrap(ParcelsTestUtil.wrap(myObject);
assertNotEquals(myObject.hasCode(), in.hasCode())
}
Тест должен быть запущен с тестом Android или артефактом Robolectric.