如何在junit4中创建测试套件?
答案 0 :(得分:6)
以下是一个例子:
@RunWith(Suite.class)
@Suite.SuiteClasses(
{
TestClass1.class,
TestClass2.class,
})
public class DummyTestSuite
{
}
答案 1 :(得分:1)
单元测试非常简单,最好用一个简单的例子来解释。
我们将使用以下类计算数组的平均值:
package com.stackoverflow.junit;
public class Average {
public static double avg(double[] avg) {
double sum = 0;
// sum all values
for(double num : avg) {
sum += num;
}
return sum / avg.length;
}
}
我们的JUnit测试现在将测试此方法的一些基本操作:
package com.stackoverflow.junit;
import junit.framework.TestCase;
public class AverageTest extends TestCase {
public void testOneValueAverage() {
// we expect the average of one element (with value 5) to be 5, the 0.01 is a delta because of imprecise floating-point operations
double avg1 = Average.avg(new double[]{5});
assertEquals(5, avg1, 0.01);
double avg2 = Average.avg(new double[]{3});
assertEquals(3, avg2, 0.01);
}
public void testTwoValueAverage() {
double avg1 = Average.avg(new double[]{5, 3});
assertEquals(4, avg1, 0.01);
double avg2 = Average.avg(new double[]{7, 2});
assertEquals(4.5, avg2, 0.01);
}
public void testZeroValueAverage() {
double avg = Average.avg(new double[]{});
assertEquals(0, avg, 0.01);
}
}
前两个测试用例将显示我们实现的方法正确,但最后一个测试用例将失败。 但为什么? 数组的长度为零,我们潜水为零。浮点数除以零不是数字(NaN),不是零。