Как высмеять SharedPreferences с помощью MockitoAndroid

Форум для тех, кто программирует под Android
Anonymous
Как высмеять SharedPreferences с помощью Mockito

Сообщение Anonymous »

Я только что прочитал о модульном инструментальном тестировании в Android, и мне интересно, как я могу имитировать SharedPreferences без какого-либо класса SharedPreferencesHelper, как здесь

Мой код:< /p>

Код: Выделить всё

public class Auth {
private static SharedPreferences loggedUserData = null;
public static String getValidToken(Context context)
{
initLoggedUserPreferences(context);
String token = loggedUserData.getString(Constants.USER_TOKEN,null);
return token;
}
public static String getLoggedUser(Context context)
{
initLoggedUserPreferences(context);
String user = loggedUserData.getString(Constants.LOGGED_USERNAME,null);
return user;
}
public static void setUserCredentials(Context context, String username, String token)
{
initLoggedUserPreferences(context);
loggedUserData.edit().putString(Constants.LOGGED_USERNAME, username).commit();
loggedUserData.edit().putString(Constants.USER_TOKEN,token).commit();
}

public static HashMap setHeaders(String username, String password)
{
HashMap headers = new HashMap();
String auth = username + ":" + password;
String encoding = Base64.encodeToString(auth.getBytes(), Base64.DEFAULT);
headers.put("Authorization", "Basic " + encoding);
return headers;
}

public static void deleteToken(Context context)
{
initLoggedUserPreferences(context);
loggedUserData.edit().remove(Constants.LOGGED_USERNAME).commit();
loggedUserData.edit().remove(Constants.USER_TOKEN).commit();
}

public static HashMap setHeadersWithToken(String token) {
HashMap headers = new HashMap();
headers.put("Authorization","Token "+token);
return headers;
}
private static SharedPreferences initLoggedUserPreferences(Context context)
{
if(loggedUserData == null)
loggedUserData = context.getSharedPreferences(Constants.LOGGED_USER_PREFERENCES,0);
return loggedUserData;
}}
Можно ли имитировать SharedPreferences, не создавая на нем другой класс?

Подробнее здесь: https://stackoverflow.com/questions/351 ... ng-mockito

Вернуться в «Android»