2017-04-02 9 views
-2

誰かがmockitoを使用して、このコードの作業ユニットテストを表示できますか?私はAndroidスタジオでのテストに新しいと本当にいくつかの助けを必要とすることができます。AndroidスタジオのMockitoを使用したローカルユニットテスト

public class PreferenceHelper { 

public static final String SHARED_PREFS_NAME = "EDUBACK_PREFS"; 
public static final String PREF_KEY_IS_STUDENT = "PREF_KEY_IS_STUDENT"; 
private final SharedPreferences mPref; 

public PreferenceHelper(Context context) { 
    mPref = context.getSharedPreferences(SHARED_PREFS_NAME, Context.MODE_PRIVATE); 
} 


public void setIsStudent(boolean isStudent) { 
    mPref.edit().putBoolean(PREF_KEY_IS_STUDENT, isStudent).apply(); 
} 


public boolean getIsStudent() { 
    return mPref.getBoolean(PREF_KEY_IS_STUDENT, true); // Default true 
}} 
+0

を? PreferenceHelperクラス?または、他のクラスで使用しているときにPreferenceHelperをモックしたいですか? – shmakova

+0

PreferenceHelperクラスをテストしたい – annabkj

答えて

0

実際にここではモッキートを使用する必要はありません。

あなたのクラスのようなもの(アサーションのために、私はorg.assertj:assertj-core:3.5.2ライブラリを使用)をテストすることができます:あなたがテストしたいん何

@RunWith(RobolectricTestRunner.class) 
public class PreferenceHelperTest { 
    private SharedPreferences sharedPreferences; 
    private PreferenceHelper preferenceHelper; 

    @Before 
    public void setUp() { 
     sharedPreferences = RuntimeEnvironment.application.getSharedPreferences(SHARED_PREFS_NAME, Context.MODE_PRIVATE); 
     preferenceHelper = new PreferenceHelper(ShadowApplication.getInstance().getApplicationContext()); 
    } 

    @Test 
    public void setIsStudent_whenIsStudentIsTrue() { 
     preferenceHelper.setIsStudent(true); 
     assertThat(sharedPreferences.getBoolean(PREF_KEY_IS_STUDENT, false)).isTrue(); 
    } 

    @Test 
    public void setIsStudent_whenIsStudentIsFalse() { 
     preferenceHelper.setIsStudent(false); 
     assertThat(sharedPreferences.getBoolean(PREF_KEY_IS_STUDENT, true)).isFalse(); 
    } 

    @Test 
    public void getIsStudent_whenIsStudentIsNull() { 
     boolean getIsStudent = preferenceHelper.getIsStudent(); 
     assertThat(getIsStudent).isTrue(); 
    } 

    @Test 
    public void getIsStudent_whenIsStudentIsFalse() { 
     preferenceHelper.setIsStudent(false); 
     boolean getIsStudent = preferenceHelper.getIsStudent(); 
     assertThat(getIsStudent).isFalse(); 
    } 

    @Test 
    public void getIsStudent_whenIsStudentIsTrue() { 
     preferenceHelper.setIsStudent(true); 
     boolean getIsStudent = preferenceHelper.getIsStudent(); 
     assertThat(getIsStudent).isTrue(); 
    } 
} 
関連する問題