Форум для тех, кто программирует под Android
Anonymous
Как высмеять SharedPreferences с помощью Mockito
Сообщение
Anonymous » 23 апр 2024, 01:03
Я только что прочитал о модульном инструментальном тестировании в 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
1713823396
Anonymous
Я только что прочитал о модульном инструментальном тестировании в Android, и мне интересно, как я могу имитировать SharedPreferences без какого-либо класса SharedPreferencesHelper, как здесь Мой код:< /p> [code]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; }} [/code] Можно ли имитировать SharedPreferences, не создавая на нем другой класс? Подробнее здесь: [url]https://stackoverflow.com/questions/35105545/how-to-mock-a-sharedpreferences-using-mockito[/url]