HCMockAddMock

配置 libHttpClient 在调用 HCHttpCallPerformAsync() 时返回模拟响应,而非进行网络调用。

语法

HRESULT HCMockAddMock(  
         HCMockCallHandle call,  
         const char* method,  
         const char* url,  
         const uint8_t* requestBodyBytes,  
         uint32_t requestBodySize  
)  

参数

call _In_
类型:HCMockCallHandle

已使用 HCMockResponseSet*() 相应对表示模拟的这个 HC_MOCK_CALL_HANDLE 进行了配置。

method _In_opt_z_
类型:char*

如果您希望模拟仅应用于特定 URL,请传入 UTF-8 编码方法和 URL。

url _In_opt_z_
类型:char*

如果您希望模拟仅应用于特定 URL,请传入 UTF-8 编码方法和 URL。

requestBodyBytes _In_reads_bytes_opt_(requestBodySize)
类型:uint8_t*

如果您希望模拟仅应用于特定 URL 和请求字符串,请传入方法、URL 和字符串正文。

requestBodySize _In_
类型:uint32_t

requestBodyBytes 的大小(字节数)。

返回值

类型:HRESULT

此 API 操作的结果代码。 可能的值为 S_OK、E_INVALIDARG、E_OUTOFMEMORY 或 E_FAIL。

备注

要定义模拟响应,请使用代表模拟的 HCMockCallCreate() 创建新的 HC_MOCK_CALL_HANDLE。 然后使用 HCMockResponseSet*() 设置模拟响应。 默认情况下,将为所有 HTTP 调用返回模拟响应。 如果您希望模拟仅应用于特定 URL,请传入 URL。 如果您希望模拟仅应用于特定 URL 和请求正文,请传入 URL 和正文。 按需要配置 HC_MOCK_CALL_HANDLE 后,通过调用 HCMockAddMock() 将模拟添加到系统。 您可以通过使用一组模拟响应多次调用 HCMockAddMock() 来设置多个活动模拟响应。 如果 HTTP 调用与一组模拟响应匹配,将为每个后续 HCHttpCallPerformAsync() 调用按顺序执行它们。 命中最后一个匹配的模拟响应时,将在后续每次调用 HCHttpCallPerformAsync() 时重复最后一个匹配的模拟响应。

要求

头文件:mock.h

库: libHttpClient.GDK.lib

另请参阅

mock