2013-10-30 58 views
-1

,當它拋出java.lang.NullPointerException這裏是我的類,它需要測試:的JUnit測試:測試對字符串相關的setter和getter

public class RankingTableModel { 

/** 
* filePath stores the path of a csv file. 
*/ 
private String filePath = ""; 

/** 
* table data represents all the data in the table cells. 
*/ 
private Object[][] table_data; 

public String getFilePath() { 
    return filePath; 
} 

public void setFilePath (String filePath) { 
    this.filePath = filePath; 
} 

這裏是我的JUnit測試類(@Before, @After,.etc,我沒有做任何特別的事情,只是打印一些信息):

public class RankingTableModelTest { 

private static final Object[][] data = { 
      {"US", new Integer(1), new Integer(2), new Integer(2), 
       new Integer(3)}, 
      {"UK", new Integer(2), new Integer(2), new Integer(1), 
       new Integer(2)}, 
      {"CHN", new Integer(3), new Integer(1), new Integer(3), 
       new Integer(1)}, 
     }; 

private static final String file_path = "test"; 

private RankingTableModel test_model; 


@Test 
public void setFilePathAndGetFilePath() { 

    System.out.println("Testing setFilePath and getFilePath."); 
    test_model.setFilePath(file_path); 
    assertEquals(test_model.getFilePath(),"test"); 
} 

}

當我運行測試,它拋出一個異常: java.lang.NullPointerExcepti at * .RankingTableModelTest.setFilePathAndGetFilePath(RankingTableModelTest.java:51) 51是行數:test_model.setFilePath(file_path);

我的代碼有什麼問題? Thx :)

回答

3

你從未實例化test_model

某處,你需要test_model = new RankingTableModel();或類似的東西。

+0

非常感謝,它的工作原理:D – chygo

2

你剛纔宣佈test_model:

private RankingTableModel test_model; 

不是,初始化它。

private RankingTableModel test_model = new RankingTableModel(); 

上述問題將解決您的問題。

+0

它的作品,非常感謝你:) – chygo