Java Mockito在测试过程中重置注入的字段?
我怀疑我可能被告知我需要重新设计我的测试或我的应用程序类或其他东西。。。但谁知道呢,也许不知道 我有一个切口,我正在测试一个注入间谍Java Mockito在测试过程中重置注入的字段?,java,mocking,mockito,spy,Java,Mocking,Mockito,Spy,我怀疑我可能被告知我需要重新设计我的测试或我的应用程序类或其他东西。。。但谁知道呢,也许不知道 我有一个切口,我正在测试一个注入间谍java.util.PropertiesfieldmockedProps,代表fieldProperties 假设在其活动过程中(例如,在功能测试或E2E测试而不是超级简单的单元测试中),CUT将字段props的值设置为新创建的Properties对象。这使得该新字段不再可从测试方法访问 如果能够将当前的props字段作为mockedProps进行“重新输入”,那就
java.util.Properties
fieldmockedProps
,代表fieldProperties
假设在其活动过程中(例如,在功能测试或E2E测试而不是超级简单的单元测试中),CUT将字段props
的值设置为新创建的Properties
对象。这使得该新字段不再可从测试方法访问
如果能够将当前的
props
字段作为mockedProps
进行“重新输入”,那就太好了。。。有没有解决这类问题的方法或技术?为什么要模拟Properties对象而不是使用/修改真实对象?如果您的被测类更改了它所指向的实例,那么Properties类如何超越与外部更改(如您试图模拟的更改)隔离的私有实现细节?谢谢。目前,很少有人能从切口外部直接访问此属性对象。。。我必须引入一个专门用于测试目的的getter+setter,这可能是不可取的,对吗?我将不得不考虑你的另一点:我试图做的事情是模拟读取(load
from a file)属性,这些属性在某种程度上是错误的,并确保剪切正确响应。毫无疑问,我试图一次做太多的事情。但这是一个“功能”测试而不是单元测试。。。