2015-12-04 13 views
0

我只是對IntelliJ中的測試類有個簡單的問題。 我的任務是「編寫一個測試方法,驗證方法 如你所期望的那樣工作。」驗證該方法是否如您所期望的那樣的測試方法

這是要測試的方法:

public int MatchNumber(char[] input, char c) { 
int number = 0; 
     for (int i = 0; i < input.length; i++) { 
      if (input[i] == c) { 
       number++; 
      } 
     } 
     return number; 
    } 
} 

我也不太清楚測試類在Java中究竟是如何工作的,所以如果有人可以把我對行權,那麼我會非常感激。 在此先感謝。

+1

#1問題:你如何期待它的工作?你認爲這個代碼有什麼作用? # –

+1

#2問題:你知道單元測試嗎? (即jUnit) – Turcia

+1

看看那裏 - > http://junit.org/和「爲什麼使用JUnit進行測試?」 - > http://stackoverflow.com/questions/10858990/why-use-junit-for-測試 – Shondeslitch

回答

1

簡單地說:使用JUnit,再一個你的測試可以看起來像:

@Test 
public void shouldMatchNumber() { 

    // given 
    char[] input = { 'a', 'b', 'c', 'd', 'a' }; 
    char c = 'a'; 

    // when 
    int result = object.MatchNumber(input, c); 

    // then 
    assertEquals(2, result); 
} 
+0

好吧,這解釋了很多。謝謝。我現在遇到的一個問題是,assertequals和object以紅色突出顯示,而我不知道爲什麼。有任何想法嗎?謝謝。 – user3080698

+0

'object'是容納'MatchNumber'方法的對象 - 您正在使用的實例的名稱。請仔細閱讀Junit.org。 – k0ner

+0

非常感謝。 :) – user3080698

0

可以想到「規範」測試類的。如果你的班級在考試中失敗,那麼它沒有通過規範。顯然,您期望您的方法執行的操作是返回中c的出現次數。所以編寫測試方法來做相當好的工作來驗證這一點。對照aaaaa進行測試,並驗證它是4.對照aaaaba對其進行測試,並驗證它是4.對照aaaab對其進行測試,並驗證它是否爲0.依此類推。

相關問題