我正在尝试更改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()
如果需要使用特定时间进行测试,请改用时钟
:
这个抽象的主要目的是允许在需要时插入备用时钟。应用程序使用一个对象来获取当前时间,而不是静态方法。这可以简化测试。
问题内容: 我有这样的代码片段: 在运行此测试时,我得到: 你知道我该怎么预防吗?我也许还有另一种方法可以模拟这样的代码: 问题答案: 尝试将此注释添加到您的Test类: 为我工作。
问题内容: 我希望能够将go应用程序发出的每次写入/读取记录到底层操作系统,并且(如果可能)将FS完全替换为仅驻留在内存中的FS。 可能吗?怎么样?也许有一个现成的解决方案? 问题答案: 这直接是您(可能)不了解Go的 Andrew Gerrand的10件事: 为此,您需要编写代码以接受参数(也许将其嵌入其他类型,或者表示默认文件系统)。
如何在Jellybean模拟器上启用系统导航栏(包括HOME/BACK/MENU)? 在谷歌上搜索这个,有人说可以通过更改属性来完成,但是我找不到在哪里设置这个常数。有人能帮我吗?
我正在编写一些单元测试代码,我想模拟在我的函数中使用的模块:
问题内容: 是否有标准方法(无需安装第三方库)在Python中进行跨平台文件系统模拟?如果我必须使用第三方库,那么哪个库是标准库? 问题答案: pyfakefs(主页)做您想要的–一个 伪造的 文件系统;它是第三方,尽管该第三方是Google。有关使用的讨论,请参见如何为被测模块替换文件访问引用。 对于 嘲笑 ,unittest.mock是用于Python 3.3+(标准库PEP 0417); 有
我有这样一个代码片段: 在运行这些测试时,我得到了: 你知道我该怎么阻止吗?我也许还有另一种方法来嘲弄这样一段代码: