{
private HomeActivity homeActivity;
private SessionManager sessionManager;
private String result_time;
@Mock
Context context;
@Mock
SharedPreferences.Editor editor;
@Mock
SharedPreferences sharedPreferences;
@Before
public void Setup()
{
homeActivity = new HomeActivity();
sessionManager = new SessionManager(context);
when(context.getSharedPreferences(anyString(), anyInt()))
.thenReturn(sharedPreferences);
when(sharedPreferences.edit()).thenReturn(editor);
when(editor.putString(anyString(), anyString())).thenReturn(editor);
}
@Test
public void test_calculateTimeAgo()
{
when(sessionManager.getLastSyncDateTime()).thenReturn("13-07-2020 20:22");
result_time = homeActivity.CalculateAgoTime();
assertFalse(result_time.isEmpty());
}
}
public String CalculateAgoTime() {
String finalTime = "";
String syncTime = sessionManager.getLastSyncDateTime();
SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm", Locale.getDefault());
ParsePosition pos = new ParsePosition(0);
long then = formatter.parse(syncTime, pos).getTime();
long now = new Date().getTime();
long seconds = (now - then) / 1000;
long minutes = seconds / 60;
long hours = minutes / 60;
long days = hours / 24;
String time = "";
long num = 0;
if (days > 0) {
num = days;
time = days + " " + context.getString(R.string.day);
} else if (hours > 0) {
num = hours;
time = hours + " " + context.getString(R.string.hour);
} else if (minutes >= 0) {
num = minutes;
time = minutes + " " + context.getString(R.string.minute);
}
// <For Seconds>
// else {
// num = seconds;
// time = seconds + " second";
// }
if (num > 1) {
time += context.getString(R.string.s);
}
finalTime = time + " " + context.getString(R.string.ago);
sessionManager.setLastTimeAgo(finalTime);
return finalTime;
}
public SessionManager(Context context) {
this._context = context;
pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
editor = pref.edit();
}
sharedpef的Getter和Setter:
public String getLastSyncDateTime() {
return pref.getString(LAST_SYNC_SUCCESS_DATE_TIME, "- - - -");
} //getting the sync value and time and saving in the sharedpref
public void setLastSyncDateTime(String lastPulledDateTime) {
editor.putString(LAST_SYNC_SUCCESS_DATE_TIME, lastPulledDateTime);
editor.commit();
}
我不确定这一点。但是您错过了注入模拟注释变量的一行代码,这可能是由于出现了异常。
需要包含在@before方法中的代码:
initMocks(this);
我正在使用SpringRunner运行JUnit mockito测试用例,下面是类,我试图编写测试用例,但得到空对象 //Junit测试用例 但是下面的代码即使在模拟这个之后仍然返回空值,你能帮助如何模拟这个吗? 注意:只有Mockito需要使用无powermockito
我有一个使用Spring依赖注入的Java应用程序。我想模拟一个bean,并验证它是否接收某些方法调用。 问题是Mockito不会在测试之间重置mock,因此我无法正确验证对它的方法调用。 我的测试单元: 单元测试类: 最后, 虽然我可以通过在测试之间手动重置模拟来解决这个问题,但我想知道是否有更干净/更习惯的方法。
这个程序应该做什么, 我希望它显示一个空白屏幕,直到我在键盘上点击任何字符。但是它做的事情很奇怪。它显示我按的任何东西。它永远不会终止,直到我按下回车键。 据我所知,getchar()应该只读取一个字符。它不应该输出任何东西。 为什么它打印我输入的每个字符? 编辑: 为什么 getchar() 在读取一个字符后不停止,例如在这段代码中: 程序应在读取一个字符后打印完成。
没有空白的GUI显示为“拥挤”。我如何提供空白而不需要明确地设置元件的位置或尺寸?………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
问题内容: 使OAuth提供程序以Java运行的最快/最简单方法是什么?具体来说,我需要授权第三方应用访问某些Web服务(我正在考虑使用OAuth进行令牌身份验证)。 我一直在寻找在新泽西州的OAuth扩展,但提到这里,它没有提供一个完整的服务供应商。 问题答案: 有一些Java库可用于OAuth。具体来说,我来看看这个。我自己没有使用过,但是有一个运行OAuth服务提供商的示例。 OAuth网站
我试过这个: 我必须创建一个origin access标识和一个具有此标识的CloudFront发行版。我们可以在一个CloudFormation脚本中或使用Serverless(使用)来完成这两件事吗?