【发布时间】:2015-04-16 10:52:52
【问题描述】:
我遇到了一个我真的不知道如何解决的情况。我刚刚创建了一个类 Foo ,其中包含一个静态工厂方法来使用一些参数创建类 Bar ,因此 Foo 是一种工厂类。现在我想测试这个方法,但问题是,这些参数在内部被修改以创建在 Bar 上调用构造函数所需的变量。作为测试的一部分,我可以测试我得到 Bar 的最终对象,但我不知道如何验证传递给构造函数的参数。
public class Foo {
public Bar createBarOf(String argumentOne, String argumentTwo) {
String argumentForBar = argumentOne + argumentTwo;
return new Bar(argumentForBar);
}
}
有什么建议吗?
编辑
为了让问题更清楚,这是 Bar 类。
public class Bar {
private final String SUFFIX = "BarSuffix";
private String field;
public Bar(String argumentForBar) {
field = argumentForBar + BAR_SUFFIX;
}
}
所以,考虑到构造函数。当我在 Foo 中测试 createBarFor(argumentOne,argumentTwo) 时,我无法弄清楚如何测试用于创建 Bar 的 argumentOne 和 argumentTwo,除非我还在该测试中测试 Bar 构造函数并假设 Bar 的内部结构是什么。 argumentOne 和 argumentTwo 不是 Bar 的存储字段,而是用于计算对象中字段值的变量。
【问题讨论】: