我有一个类,其字段使用静态调用在没有 setter 的情况下初始化:
A 级{
private B b = Env.getEnv().getInstance("b");
...
}
我想测试 A 类并提供 B 类的模拟。 是否可以? A类不是我的,我不能使用setter,这里的反射也是不可能的。
任何帮助将不胜感激!
谢谢,
颜
最佳答案
这取决于 Env.getEnv(...).getInstance()
的作用。你能改变它来返回你的模拟吗?如果没有,您基本上得到的类实际上并不是为可测试性而设计的,并且您会发现很难注入(inject)依赖项。
关于java - EasyMock - 如何在没有 setter 的情况下将模拟对象设置为字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9264804/