【问题标题】:Salesforce Apex: test that callout hasn't been madeSalesforce Apex:测试未进行标注
【发布时间】:2016-04-21 18:50:49
【问题描述】:

我想编写一个单元测试来检查是否没有从触发器发出标注。

我知道如何测试标注是否正确 - 通过实现 HttpCalloutMock:

global class MyHttpCalloutMock implements HttpCalloutMock {
    global HTTPResponse respond(HTTPRequest req) {
        //test HTTPRequest here
    }
}

但如果没有发出 HTTP 请求,则不会调用 respond() 方法。因此,这种方法根本不会测试请求是否已发出。

我需要这样的东西:

HTTPRequest.assertNoRequestsHaveBeenMade();

我该怎么做?

【问题讨论】:

    标签: salesforce apex-code apex


    【解决方案1】:

    所以我想通了。事实证明,Salesforce 有方法 Test.startTest()Test.stopTest() 使异步标注同步:https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_testing_tools_start_stop_test.htm

    使标注同步后,测试它们会容易得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-05
      • 2012-02-06
      • 1970-01-01
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多