2015-09-29 53 views
-2

這裏是我已經定義了應該接受一個字符串作爲輸入,並應該返回字符「E」出現爲int的次數方法:如何正確寫出一個計算字符串中有多少個e的方法的JUnit測試?

public int count_e(String input){ 
    int count = 0; 
    for (int i = 0;i<input.length();i++){ 
     char e = 'e'; 
     if (input.charAt(i)==e){ 
      count=count+1; 
      i++; 
      return count; 
     } 
     else{ 
      count=count+1; 
      i++; 
     } 
    } 
    return count; 
} 

}

我想編寫一個JUnit測試來查看我是否可以在該方法中輸入一個字符串並返回正確數量的e。下面是我的測試,目前我不斷收到一個錯誤,說我的方法count_e對於String類型是未定義的。

有人可以告訴我爲什麼它會出現未定義?

@Test 
public void testCount_e() { 
    String input= "Isabelle"; 
    int expected= 2; 
    int actual=input.count_e(); 
    assertTrue("There are this many e's in the String.",expected==actual); 
} 

}

回答

0

你沒有任何通過count_e方法!

如何像:

@Test 
public void testCount_e() { 
    String input = "Isabelle"; 
    int expected = 2; 
    int actual = count_e(input); 
    Assert.assertEqual("There are this many e's in the String.", expected, actual); 
} 

對於單元測試,你很可能縮短到:

@Test 
public void testCount_e() { 
    Assert.assertEqual("There are this many e's in the String.", count_e("Isabelle"), 2); 
} 
相關問題