android - 如何测试 @parcel 对象,就好像它们是跨 Activity 发送的一样

标签 android parceler

当我对@parcel 注释模型进行单元测试时,我得到了相同的对象(即使在使用 BundleIntent 时):

@Test public void parcel() {
    MyObject myObject = new MyObject("123");
    Parcelable parcelable = Parcels.wrap(myObject);
    MyObject in = Parcels.unwrap(parcelable);
    // myObject == in (same id)
}

如何模拟模型从一个 Activity 传递到另一个 Activity 并因此被重新创建的情况?

更新:可能需要使用 this .

最佳答案

使用这个 file :

@Test public void parcel() {
    MyObject myObject = new MyObject("123");
    MyObject in = Parcels.unwrap(ParcelsTestUtil.wrap(myObject);
    assertNotEquals(myObject.hasCode(), in.hasCode())
}

测试需要与 Android 测试或 Robolectric Artifact 一起运行。

关于android - 如何测试 @parcel 对象,就好像它们是跨 Activity 发送的一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32260976/

相关文章:

parceler - 如何使用 Parceler 库将自定义对象类型的 Arraylist 从 Activity 传递到 Service?

java - 当我将它作为一个包发送时试图打开一个对象

android - WifiNetworkSpecifier 绕过用户选择

android - SQLCipher for Android : icudt46l. zip 真的需要吗?

android - 执行 createChooser(context,intent,IntentSender) 后不调用 BroadcastReceiver

android - Parceler 和 Lombok 不能一起工作?

android - Firebase Firestore : Could not reach Firestore backend (Android only)

java - 最新 FLP api 客户端构建期间的 Android AR Core 异常。回归传统

java - Jacoco 在 Parceler 类上失败 - Android

android - Parceler 使用继承泛型