2013-10-30 57 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