测试应用

时间:2016-07-11 10:06:12

标签: java android unit-testing nullpointerexception

我在测试我的应用时遇到了问题,确切地说是“DateToday”,这是该类的一部分:

public DateToday(){
    monthName();
    dayName();
    dayNumber();
    yearNumber();
}

public int yearNumber(){
    year = c.get(Calendar.YEAR);
    return year;
}

这是我的测试课程:

@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21)
public class DateTodayTest {

private DateToday mDateToday;

@Test
public void checkYear() {
    assertEquals(mDateToday.yearNumber(), 2016);
}

为什么我仍然使用NullPointerException checkYear()方法且测试失败?这可能是一个愚蠢的问题,但我对此视而不见......

2 个答案:

答案 0 :(得分:1)

似乎mDateToday未初始化,您应该使用构造函数:

private DateToday mDateToday =  new DateToday ();

答案 1 :(得分:0)

您需要在调用DateToday方法之前创建assertEquals()类的新实例,例如:mDateToday = new DateToday();