Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用不同的参数重试java中的Junit测试_Java_Junit_Junit4 - Fatal编程技术网

使用不同的参数重试java中的Junit测试

使用不同的参数重试java中的Junit测试,java,junit,junit4,Java,Junit,Junit4,我有Junit测试,它使用参数执行代码, 我希望在断言失败的情况下,使用另一个参数再次重试。 比如说 @Test public void test1() { boolean res = somelogic(3); assertTrue(res); // just if false I want to run again : boolean res = somelogic(4); assertTrue(res); } 提前感谢您可以利用Java支持

我有Junit测试,它使用参数执行代码, 我希望在断言失败的情况下,使用另一个参数再次重试。 比如说

@Test
public void test1() {
    boolean res = somelogic(3);
    assertTrue(res);
    // just if false I want to run again :
    boolean res = somelogic(4);
    assertTrue(res);    
}

提前感谢

您可以利用Java支持的事实,将测试编写为:

@Test
public void test1() {
    assertTrue(somelogic(3) || somelogic(4));
}

这样,如果
somelogic(3)
为false,那么只有
somelogic(4)
才会运行以确定断言的真实值。

您想做什么?您希望从
somelogic返回什么值(3)?为什么会有随机性?我们在谈论什么样的随机性?
somelogic()
的源代码是什么。请提供您的问题和所有必要的信息。根据给定的数字,代码有一个线程睡眠,因此我想用更长的睡眠时间进行测试