【问题标题】:Java repeat during testJava 在测试期间重复
【发布时间】:2019-02-14 13:21:47
【问题描述】:

我在 Ibello 和 Java 中进行了测试。我用

int random = (int)(Math.random() * (100000 - 1) + 1);

生成 5 位代码。

我有一个测试类:

pthUgyintezesNewCase.I_Use_the_5digits();

allatiMellektermekSteps.Delete_the_old_datas();

pthNewCase.I_Save_And_Close(); //it brokes here

// Steps Class

public void I_Use_the_5digits() throws Exception{
        int random = (int)(Math.random() * (100000 - 1) + 1);

//

如果生成 5 位数字,应用程序将无法运行。是否有可能,如果它再次生成似乎,它将一个数字加 1 直到它可以运行?

【问题讨论】:

  • 您能否提供您所面临问题的示例?理解您要解释的内容有点困难
  • 也许现在?我重写了

标签: java selenium testing random cucumber


【解决方案1】:

我认为您正在尝试生成一个 5 位数字,但有时该数字只有 4 位数字?如果是这种情况,请尝试以下操作:

(int)(Math.random() * (100000 - 10000) + 10000);

通过使用 10000 而不是 1,您可以确保该数字始终包含至少 5 位数字

编辑:

这是一个检查接下来的 10'000'000 个数字的测试用例:

import java.lang.Math; 
import java.util.Random;

public class HelloWorld
{
  public static void main(String[] args)
  {
    for(int i = 0; i < 10000000; i++) {
        int number = (int)(Math.random() * (100000 - 10000) + 10000);
        if(String.valueOf(number).length() != 5) {
            System.out.println(String.valueOf(number).length());
            System.exit(0);
        }
    }
    System.out.println("Finished with all 5 digit numbers");
  }
}

【讨论】:

    猜你喜欢
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 2018-04-01
    • 2010-10-01
    • 2014-08-01
    • 1970-01-01
    相关资源
    最近更新 更多