2017-07-03 60 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匹配

換句話說:當你知道進入該方法的輸入,你確切知道應該返回什麼。所以你開始考慮潛在的投入(有不同的「特徵」) - 並簡單地檢查預期的結果。