Как имитировать функцию в импортированном локальном модуле балерины в модульном тесте
Я создал модуль балерины, как показано ниже, который хранится в моем локальном реестре.
import wso2/notification_grpc_client as ngc;
В отдельном модуле. В тестовом примере я импортирую другой модуль и пытаюсь имитировать ответ в одном из методов класса в импортированном выше модуле.
NotificationResponse noti = {code: "OK"};
ngc:NotificationServiceClientImpl clientMock = test:mock(ngc:NotificationServiceClientImpl);
test:prepare(clientMock).when("createApplication").thenReturn(noti);
но когда тестовый пример выполняется, он выполняется без простого возврата ложного ответа.
1 ответ
Вы можете решить эту проблему, добавив функцию для возврата ложного ответа с помощью@test:Mock
конфигурации.
@test:Mock {functionName: "createApplication", moduleName: "wso2/notification_grpc_client"}
public isolated function createApplicationMock(ApplicationGRPC createApplicationRequest, string endpoint) returns error|NotificationResponse {
NotificationResponse noti = {code: "OK"};
return noti;
}