Как протестировать объекты @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.

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