如何在Junit 4中重写JUnit 3的数据驱动测试套件?
我正在使用基于 Rainsberger 的 JUnit Recipes 运行 JUnit 3 的数据驱动测试套件。 这些测试的目的是检查与一组输入输出对相关的某个功能是否正确实现。
以下是测试套件的定义:
public static Test suite() throws Exception {
TestSuite suite = new TestSuite();
Calendar calendar = GregorianCalendar.getInstance();
calendar.set(2009, 8, 05, 13, 23); // 2009. 09. 05. 13:23
java.sql.Date date = new java.sql.Date(calendar.getTime().getTime());
suite.addTest(new DateFormatTestToString(date, JtDateFormat.FormatType.YYYY_MON_DD, "2009-SEP-05"));
suite.addTest(new DateFormatTestToString(date, JtDateFormat.FormatType.DD_MON_YYYY, "05/SEP/2009"));
return suite;
}
以及测试类的定义:
public class DateFormatTestToString extends TestCase {
private java.sql.Date date;
private JtDateFormat.FormatType dateFormat;
private String expectedStringFormat;
public DateFormatTestToString(java.sql.Date date, JtDateFormat.FormatType dateFormat, String expectedStringFormat) {
super("testGetString");
this.date = date;
this.dateFormat = dateFormat;
this.expectedStringFormat = expectedStringFormat;
}
public void testGetString() {
String result = JtDateFormat.getString(date, dateFormat);
assertTrue( expectedStringFormat.equalsIgnoreCase(result));
}
}
如何使用 JUnit 4 测试方法的多个输入输出参数?
这个问题和答案向我解释了 JUnit 3 和4 在这方面。 这个问题和答案描述了为一组类而不是为方法创建测试套件的方法具有一组不同的参数。
解决方案:
根据drscroogemcduck的答案,这是具体页面有什么帮助。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
非常简单的方法:
你总是可以有一个方法:
然后有一个
更好的方法:
http://junit.sourceforge.net/javadoc_40/org/junit/runners/Parameterized.html
或更好的 junit 理论:
http://isagoksu.com/2009/development/agile-development/test-driven -development/using-junit-datapoints-and-theories/
the really simple way:
you can always have a method:
and then just have a method
the nicer way:
http://junit.sourceforge.net/javadoc_40/org/junit/runners/Parameterized.html
or better junit theories:
http://isagoksu.com/2009/development/agile-development/test-driven-development/using-junit-datapoints-and-theories/