Newer Version Available

This content describes an older version of this product. View Latest

Mock SOQL Tests for External Objects

You can mock SOQL query responses for external objects in Apex testing by using SOQL stub methods and a new test class. Use basic and joined SOQL queries against external objects and return mock records in a testing context.

Create mock test classes by extending the new System.SoqlStubProvider class and overriding the handleSoqlQuery() class method. Create external object records using either Test.createStubQueryRow() or Test.createStubQueryRows(). Register the mock provider in the test using Test.createSoqlStub() and execute the test code.

Apex governor limits apply to the stubbed records.

Note

The SOQL query must be against an external object, either directly with a FROM clause or via a subquery. These features aren’t allowed within a stub implementation.

  • SOQL
  • SOSL
  • Callouts
  • Future methods
  • Queueable Jobs
  • Batch Jobs
  • DML
  • Platform events

This example shows a mock test class for the GithubIssueTest class with joined and basic queries.