gpt4 book ai didi

java - 在运行时判断某个字段是否已被 Spock 模拟或监视的方法

转载 作者:行者123 更新时间:2023-11-30 07:45:37 27 4
gpt4 key购买 nike

有没有办法在运行时判断 Java 实例的字段是否已被 Spock 模拟?我想在调试时使用此信息有条件地排除序列化字段,并使用 GSON 创建字符串表示形式以打印到标准输出。

最佳答案

如果需要检查的字段没有设置,即返回null或其他默认值(true、false、0)则无法区分。

但是您可以检查声明字段的类是否为 Mock本身。检查类是否是模拟类、 spy 类或其他对象的最简单(但也可能是最不可靠)的方法是调用 toString()方法检查是否以 Mock for type 'SomeType' 开头。所有模拟对象都有 toString()被覆盖。还有类名 - 通过 getClass().getName() 获得- 将类似于:org.SomeType$$EnhancerByCGLIB$$815ccad0 .

关于java - 在运行时判断某个字段是否已被 Spock 模拟或监视的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33989350/

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