我有一些第三方供应商的C#应用程序接口,并正在为相同的NUnit测试设置。有些API需要传递路径参数,当我试图将字符串传递给这样的API时,传递的路径参数是%7Bid%7D,而不是实际的字符串。
任何可能的解决方案。API's来自第三方,我在我的项目中作为dll访问它们。
NUnit测试:
[Test, RequiresThread]
public async Task ReadAPI1()
{
string apiInput = "c25c55e9-c266-47e1-9836-10c9f6ca2664";
APIResponse apiResponse = await apiClass.readMethod(apiInput);
}测试中使用的API类:
public class apiClass
{
public async Task<apiResponse> readMethod(string id)
{
string url = "/path/{id}";
this.PrepareUrl(url, nameof (id), id);
TestApiResponse<apiResponse> r = await this.GET<apiResponse>(url);
if (r.Exception != null && (uint) r.Exception.status > 0U)
throw r.Exception;
return r.Result;
}
}实际结果: Path参数作为%7Bid%7D传递预期结果: Path参数作为字符串传递
发布于 2019-05-01 11:04:06
%7B and %7D are "{" and "}" respectively,所以这个问题可能与
this.PrepareUrl(url, nameof (id), id);未正确替换和编码uri。如果没有看到这一点,就很难确定。
https://stackoverflow.com/questions/55910612
复制相似问题