gpt4 book ai didi

java - 如何正确地对可打包对象进行单元测试?

转载 作者:太空狗 更新时间:2023-10-29 14:57:26 25 4
gpt4 key购买 nike

我想知道对 Android 可打包对象进行单元测试的最佳方法是什么。我知道如何使用 Parcel.obtain() 测试可打包对象并将其写入包裹并使用创建者创建它。这种方法的问题是,如果有人将一个字段添加到一个对象而不将其添加到 parcelable/equals/hashcode 逻辑中,它就不会捕获。是否存在用于确认所有对象字段都已写入包裹的库或方法?我知道并不是所有的字段都应该被打包,我设想一个注释或每个字段的一些东西来确定是否应该包含在单元测试中。

最佳答案

您可以使用 EqualsBuilder.reflectionEquals来自 Apache Commons Lang

在你的build.gradle中:

testCompile 'org.apache.commons:commons-lang3:3.4'

然后您可以指定忽略哪些字段或让它忽略 transient字段

User one = new User();
one.setName("Salem")
one.setLastName("Saberhagen");
one.setAddress("Somewhere");
one.setAge(1000);

User two = one.clone();
two.setAddress("Mars");
two.setAge(2000);

reflectionEquals(one, two); // -> False
reflectionEquals(one, two, "address", "age"); // -> True

关于java - 如何正确地对可打包对象进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30086188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com