2017-07-03 41 views
-3

我在Java程序中,有未成年人所有的数组:查找镜阵列的Junit

public int minorArray(int a[]) { 
    int largo = a.length; 
    int menor = 10000; 

    for (int i = 0; i < large; i++) { 
     if (a[i] < minor) 
     { 
      minor = a[i];     
     } 
    } 

    return minor; 
} 

我必须做出一个测试用例用JUnit,以验证我发现未成年人。你会推荐什么方法?

+0

“所有阵列中的次要”?这是完全令人困惑的,你的程序计算整数值数组中的最小值。你现在要问什么?你使用哪种JUNT方法?或者如何设计一个测试用例(在这里提供虚拟数据和目标值相当简单)? – AKSW

+0

对不起,我的英语不太好。我需要知道在JUnit中使用哪种方法。 – Mario

+1

为什么'minor'没有用'Integer.MAX_VALUE'初始化?否则如果你有一个所有值大于10000的数组,那么方法将会失败。 –

回答

0

你正在问一个单元测试,那很简单。

看着你的代码,似乎这个方法应该返回给定数组的最小值。所以你在公共合同上写测试。

喜欢:

Whatever underTest = new Whatever(); // the class with that method 

@Test 
public void testWith3SortedValues() { 
    assertThat(underTest.minorArray(new int[] { 0, 1, 2 }), is(0)); 
} 

其中:

  • assertThat是JUnit的asssert方法
  • 是()一个是hamcrest匹配

换句话说:当你知道进入该方法的输入,你确切知道应该返回什么。所以你开始考虑潜在的投入(有不同的“特征”) - 并简单地检查预期的结果。