在Java单元测试中,是否可以在循环中包含断言语句?

kle*_*ell 0 java junit

这是我的测试:

@Test
public void randomDouble() {
    int Min = -1;
    int Max = 1;
    double r;

    for (int i = 0; i < 5; i++) {
        r = Min + (Math.random() * ((Max - Min) + 1));
        System.out.printf("%d %d: %.1f\n", Min, Max, r);
        assertTrue(Max < r && Max > r);
    }
}
Run Code Online (Sandbox Code Playgroud)

似乎在第一次运行循环中的assertTrue语句之后返回测试.如果我删除它,我得到5结果输出.有了它,我只得到一个.

我在Python中使用这种模式进行模糊测试.

Oli*_*rth 5

断言在第一次迭代时失败; 它永远不会通过(如何r既大Max?).