如何模拟系统类?



我正在尝试更改System.currentTimeMillis((方法的行为以进行测试。我找到了下面的方法,但我不能在代码中使用 aspect 关键字。我真的不明白如何使用这种方法。有什么建议吗?

public aspect CurrentTimeInMillisMethodCallChanger {
long around():
call(public static native long java.lang.System.currentTimeMillis()) 
&& within(user.code.base.pckg.*) {
return 0; // provide your own implementation returning a long
}
}

有关更多详细信息,请参阅包含上述代码源的相关答案

不要。如果需要在特定时间进行测试,请不要在代码中使用System.currentTimeMillis(),请改用Clock

此抽象的主要目的是允许在需要时插入备用时钟。应用程序使用对象而不是静态方法获取当前时间。这可以简化测试。

最新更新