在 JUnit 测试类中使用随机值

DBL*_*uis 5 java random junit unit-testing

使用随机值使用 JUnit 创建测试对象是一个好习惯吗?像这样 :

public class MonomialTest {

    private static final Random RANDOM = new Random();

    private Monomial monomial;
    private float coefficient;
    private int exponent;

    @Before
    public void setUp() throws Exception {
        coefficient = RANDOM.nextFloat();
        exponent = RANDOM.nextInt();
        monomial = new Monomial(coefficient, exponent);
    }

    @Test
    ...
    ...
    ...

}
Run Code Online (Sandbox Code Playgroud)

还是应该使用固定值?

Dir*_*ann -2

通常,在单元测试用例中使用随机数据并不是一个好主意。通常您希望测试产生确定性结果。然而,在某些情况下,人们使用随机数据测试功能 - 如果被测系统非常复杂,并且怀疑系统设计的测试套件(仍然应该存在)是否会获得足够的覆盖范围。然而,此类随机测试大多是长时间运行的测试,并且不会在回归测试的正常过程中执行。