Если у меня есть функция Apex с именем authorize()
, которая просто получает имя пользователя, пароль и токен сеанса, и другая функция с именем getURL('id#', 'key')
, которая принимает идентификатор # для записи в виде строки и ключ дляизображение для возврата в виде строки в качестве параметров. getURL вызывает функцию авторизации внутри нее, чтобы получить учетные данные для своего вызова. Авторизация - это почтовый запрос, а getURL - запрос на получение.
Я пытаюсь выяснить, как проверить обе эти выноски, чтобы убедиться, что getURL возвращает правильный JSON в качестве ответа. Это даже не должен быть URL, который является его намерением в конце концов. Но мне просто нужно проверить это, чтобы убедиться, что эти выноски работают и что я получаю ответ на 75% покрытия кода, в котором оно нуждается.
Я создал класс multiRequestMock, который выглядит следующим образом:
public class MultiRequestMock implements HttpCalloutMock {
Map<String, HttpCalloutMock> requests;
public MultiRequestMock(Map<String, HttpCalloutMock> requests) {
this.requests = requests;
}
public HTTPResponse respond(HTTPRequest req) {
HttpCalloutMock mock = requests.get(req.getEndpoint());
if (mock != null) {
return mock.respond(req);
} else {
throw new MyCustomException('HTTP callout not supported for test methods');
}
}
public void addRequestMock(String url, HttpCalloutMock mock) {
requests.put(url, mock);
}
}
Затем я начал писать файл calloutTest.cls, но не был уверен, как использовать этот класс для проверкимои оригинальные функции. Любая ясность или помощь по этому вопросу будет полезна. Спасибо.