2016-07-11 5 views
0

テストアプリは、クラス「DateTodayは」まさに、ここではそのクラスの一部です:は、NullPointerExceptionが発生しながら、私のアプリをテストしながら、私は問題を持っている

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); 
} 

なぜ私はまだNullPointerExceptioncheckYear()という方法で持っていて、テストに失敗したのですか?それは愚かな問題かもしれませんが、私はそれに盲目だ...

+0

あなたは 'mDateToday'を初期化する必要があります –

答えて

1

mDateTodayが初期化されていない、あなたは、コンストラクタを使用する必要がありそうです:呼び出す前に、あなたがDateTodayクラスの新しいインスタンスを作成する必要が

private DateToday mDateToday = new DateToday(); 
+0

ありがとうございました! –

0

assertEquals()のように:mDateToday = new DateToday();

関連する問題