【发布时间】:2015-02-20 02:02:11
【问题描述】:
我有一个旧版本的 API:Foo()。现在我将 API 扩展到 Foo(false),Foo(true) 和 Foo() 应该仍然像以前一样工作。
现在我用Parameterized.class做Junit,参数列表是{null, false, true}。我想把测试用例写成:
@Test
public void fooTest() {
Foo(parameter);
}
但是 Foo(parameter) 不能测试 Foo(),所以我得把测试代码写成:
@Test
public void fooTest() {
if (parameter == null)
Foo();
else
Foo(parameter);
}
有什么简单的方法可以编写测试用例,这样我就不需要检查参数是否为空?我问这个是因为我扩展 API 之前的原始测试用例已经在很多地方(见下文),我不想过多地更改测试代码。 :
@Test
public void fooTest() {
Foo();
}
【问题讨论】:
-
你能说得更具体一点吗?您是在谈论常用测试对象的构造函数吗?还是静态方法?我认为一个真实的例子可能会帮助我们帮助你。
标签: junit4 parameterized