我的生产环境现在有很多触发器和类。这些都工作得很好,并且正在发挥应有的作用。但是,我无法部署几个新触发器,因为测试类调用了太多未来的方法。我向您保证,我的代码被批量化,以便每次运行只调用一次未来的方法。但是,当通过 IDE 部署触发器时,每个测试都会运行,因此未来的调用会运行太多次。
我已经尝试在我未来的所有调用中放置一个 try/catch,希望如果它确实达到了限制,它只会路由到 catch 方法。尽管出现同样的错误,但它仍然无法部署。
我正在做的主要未来电话只能通过一个类进行参考。这是一个对我的网站执行 ping 操作的 HTTP 调用。
除了完全重新做我所有的测试类之外,有没有什么方法可以避免这个限制?正如您在下面看到的,未来的过多调用是在特定触发器上(default)
而不是在特定触发器上发生的。
10:39:15.617|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 85 out of 100 ******* CLOSE TO LIMIT
Number of query rows: 1474 out of 50000
Number of SOSL queries: 0 out of 20
Number of DML statements: 19 out of 150
Number of DML rows: 23 out of 10000
Number of script statements: 2370 out of 200000
Maximum heap size: 0 out of 6000000
Number of callouts: 0 out of 10
Number of Email Invocations: 0 out of 10
Number of fields describes: 0 out of 100
Number of record type describes: 0 out of 100
Number of child relationships describes: 0 out of 100
Number of picklist describes: 0 out of 100
Number of future calls: 11 out of 10 ******* CLOSE TO LIMIT