Loading
设置和维护 Salesforce 组织
目录
选择筛选器

          没有结果
          没有结果
          以下是一些搜索提示

          检查关键字的拼写。
          使用更普遍的搜索词。
          选择更少的筛选器,并扩大搜索范围。

          搜索所有 Salesforce 帮助
          Archive Apex 测试

          Archive Apex 测试

          在生产环境中工作之前,请在归档应用程序的归档 Apex 中的 Apex 类包装器中运行测试。

          MockHttpResponseGenerator.cls

          此代码描述了标注的模拟。MockHttpResponseGenerator类实现了HttpCalloutMock Apex接口。

          @isTest
          global class MockHttpResponseGenerator implements HttpCalloutMock {
          public String fakeResponseJson;
          public integer statusCode;
          String redirectHeader;
          
          public MockHttpResponseGenerator(String fakeResponseJson,Integer statusCode){
          this.statusCode = statusCode;
          this.fakeResponseJson = fakeResponseJson;
          this.redirectHeader = '/example/test';
          
          }
          
          public HTTPResponse respond(HTTPRequest req) {
          HTTPResponse res = new HTTPResponse();
          res.setBody(this.fakeResponseJson);
          res.setStatusCode(this.statusCode);
          res.setHeader('Location',  this.redirectHeader);
          return res;
          }
          }

          SearchSdkTest.cls

          此代码通过使用 MockHttpResponseGenerator 类设置模拟 HTTP 来测试SF_Archive.ArchiverAccessor的全局搜索功能。此测试验证搜索操作是否返回预期的 JSON 数据和状态代码。

          @isTest
          public with sharing class searchSdkTest {
          
          @isTest
          private static void searchSdk() {
          // Define a JSON string to be used as the mock response body
          String jsonBody = '{"records": [{"CaseNumber":"01916767", "Id":"500Xx000000XXXXXX"}], "total_result_count": 1, "scroll_id":"-1" }';
          
          // Set up the mock HTTP response using the predefined JSON body and HTTP 200 status code
          SF_Archive.ArchiverAccessor.setMock((HttpCalloutMock) new MockHttpResponseGenerator(jsonBody, SF_Archive.ArchiverAccessorResponse.HTTP_200_OK));
          
          // Insert a test archive configuration
          insert createTestArchiveConfiguration();
          
          // Create a list to hold search filters
          list<SF_Archive.SearchFilter> request1 = new list<SF_Archive.SearchFilter>();
          
          // Create a new search filter with the name 'test' and add it to the list
          SF_Archive.SearchFilter filter1 = new SF_Archive.SearchFilter('Name', 'test');
          request1.add(filter1);
          
          // Start the test context
          Test.startTest();
          
          // Perform a global search using the archiver accessor and capture the response
          SF_Archive.ArchiverAccessorResponse res = SF_Archive.ArchiverAccessor.performArchiverGlobalSearch('Account', request1);
          
          // Stop the test context
          Test.stopTest();
          
          // Assert that the response status code is HTTP 200 OK
          system.assertEquals(SF_Archive.ArchiverAccessorResponse.HTTP_200_OK, res.getStatusCode());
          
          // Assert that the response body matches the predefined JSON body
          system.assertEquals(res.getBody(), jsonBody);
          }
          
          private static SF_Archive_Configuration__c createTestArchiveConfiguration(){
          return createTestArchiveConfiguration('https://example');
          }
          public static SF_Archive_Configuration__c createTestArchiveConfiguration(String url){
          SF_Archive_Configuration__c ac = new SF_Archive_Configuration__c();
          ac.Name = 'SF_URL';
          ac.SF_URL__c = url;
          ac.SF_API_Name__c='SF_URL';
          return ac;
          }
          }
           
          正在加载
          Salesforce Help | Article