JUnit測試功能我有一個類裏面的函數:它返回一個字符串
public String covertToLowerCase(String sliceName) {
sliceName = sliceName.trim().toLowerCase();
sliceName = sliceName.replaceAll("\\.txt$|\\.dat$", "");
return sliceName;
}
我要測試的這款使用JUnit。我創建了具有以下一個單獨的測試文件:
public class MyControllerTest {
private MyController myController;
private static final String SLICE_NAME = "Hello World";
@Test
public void shouldReturnSanitizedString() throws Exception {
String expected = myController.covertToLowerCase(SLICE_NAME);
// assert that actual and expected are same
}
我無法理解如何測試這和所有其他的示例是特定於它們的功能。我只是想讓函數返回一個消毒過的字符串?我怎麼去解決這個問題?
這是什麼意思「消毒」,你的正則表達式好像簡單地從字符串中刪除txt或dat擴展名。無論如何,你應該對'String expected =「hello world」;''進行測試,然後'String actual = myController.covertToLowerCase(SLICE_NAME);'然後'assetEquals(expected,actual)'。然後,您想要在其他不同的輸入上進行相同的測試,例如:「test.txt」,「test.dat」,「test.doc」,「」,... –
我不明白。爲什麼你將返回值賦給一個名爲'expected'的變量?這應該是「實際」。 「預期」就是你實際期待的結果。 –
測試中初始化的字段* myController在哪裏?如果函數/方法是* static *,則可以在不進行初始化的情況下使用和測試。 – howlger