java - EasyMock - 如何在没有 setter 的情况下将模拟对象设置为字段?

标签 java easymock

我有一个类,其字段使用静态调用在没有 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/

相关文章:

java - LibreOffice 4.4.3 - 使用不同服务器上的 jodconverter 访问文档

未强制执行 Java 接口(interface)

java - 简单模表达式

java - Easymock 期望异常吗?

java - 为什么 dom4j 仅在我的测试环境中针对有效的 XPath 抛出 InvalidXPathException?

java - 日期排序 - 从最新到最旧

java - Tomcat JDBC 计数失败登录

java - 什么是 "FLF",[03]

java - 模拟 - 创建新文件(Java)

java - EasyMock - 从新对象返回的模拟对象