In this context, HTTP requests attempt to load API response fixtures from files. This allows test code to proceed evaluating code that expects HTTP requests to return meaningful responses. Requests that do not have a corresponding fixture file raise errors, like how without_internet() does.

with_mock_api(expr)

with_mock_API(expr)

Arguments

expr

Code to run inside the fake context

Value

The result of expr

Details

Requests are translated to mock file paths according to several rules that incorporate the request method, URL, query parameters, and body. See build_mock_url() for details.

File paths for API fixture files may be relative to the 'tests/testthat' directory, i.e. relative to the .R test files themselves. This is the default location for storing and retrieving mocks, but you can put them anywhere you want as long as you set the appropriate location with .mockPaths().

In the interest of standardizing naming conventions, with_mock_api() is the preferred name for this context; with_mock_API() is being deprecated.

See also

use_mock_api() to enable mocking on its own (not in a context); build_mock_url(); .mockPaths()