我在测试我的应用时遇到了问题,确切地说是“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()
方法且测试失败?这可能是一个愚蠢的问题,但我对此视而不见......
答案 0 :(得分:1)
似乎mDateToday未初始化,您应该使用构造函数:
private DateToday mDateToday = new DateToday ();
答案 1 :(得分:0)
您需要在调用DateToday
方法之前创建assertEquals()
类的新实例,例如:mDateToday = new DateToday();