1

我们如何在 Test 类中模拟 System.Today() 和 System.Now() 以获得进一步的逻辑?

我记得 SF 之前有过限制,但不确定他们是否想出了任何新的东西。

4

1 回答 1

1

根据您的代码在做什么,可以修改您的代码以将所涉及的逻辑拉入一个单独的方法中,您可以在其中传入 System.Today() 或 System.Now()。此时,您可以测试该组件并传入您选择的日期/日期时间。

例如,如果这是您的代码,您可以为可测试性执行以下操作:

System.debug(System.now().addDays(2));

更改为:

public static DateTime addDays(DateTime d, Integer i)
{
    return d.addDays(i);
}

System.debug(addDays(System.now(), 2));
于 2013-10-08T13:52:12.350 回答