我的 Azure 函数应该在空字符串的情况下抛出异常
My Azure Function should throw an exception in case of empty string
我的Azure函数的Run
方法的代码是这样的:
public static void Run([HttpTrigger("get")] HttpRequest req, ILogger log) {
string parameter = req.Query["parameter"];
if (string.IsNullOrEmpty(parameter)) {
throw new ArgumentNullException("Parameter must be set.");
}
log.LogInformation(parameter);
}
当运行函数并将参数传递给HTTP请求时,我有以下情况:
- 不带参数的 HTTP GET (
/api/ServiceBusOutput
):异常(正确)
- 未设置参数的 HTTP GET (
/api/ServiceBusOutput?parameter
):异常(正确)
- HTTP GET 参数为空字符串 (
/api/ServiceBusOutput?parameter=""
):成功但应该失败(URL 变为 /api/ServiceBusOutput?parameter=%22%22
)
- HTTP GET 参数为字符串 (
/api/ServiceBusOutput?parameter="something"
):成功(正确)
我该怎么做才能使第三次测试失败?
值 ""
是一个有效的查询字符串参数。字符串值不会通过 URL.
在引号中传递
例如,如果您想接收单词 something
作为参数,它将作为 /api/ServiceBusOutput?parameter=something
传递。
如果您正在尝试测试一个空字符串值,以下任何方法都可以。
/api/ServiceBusOutput?parameter=
/api/ServiceBusOutput
我的Azure函数的Run
方法的代码是这样的:
public static void Run([HttpTrigger("get")] HttpRequest req, ILogger log) {
string parameter = req.Query["parameter"];
if (string.IsNullOrEmpty(parameter)) {
throw new ArgumentNullException("Parameter must be set.");
}
log.LogInformation(parameter);
}
当运行函数并将参数传递给HTTP请求时,我有以下情况:
- 不带参数的 HTTP GET (
/api/ServiceBusOutput
):异常(正确) - 未设置参数的 HTTP GET (
/api/ServiceBusOutput?parameter
):异常(正确) - HTTP GET 参数为空字符串 (
/api/ServiceBusOutput?parameter=""
):成功但应该失败(URL 变为/api/ServiceBusOutput?parameter=%22%22
) - HTTP GET 参数为字符串 (
/api/ServiceBusOutput?parameter="something"
):成功(正确)
我该怎么做才能使第三次测试失败?
值 ""
是一个有效的查询字符串参数。字符串值不会通过 URL.
例如,如果您想接收单词 something
作为参数,它将作为 /api/ServiceBusOutput?parameter=something
传递。
如果您正在尝试测试一个空字符串值,以下任何方法都可以。
/api/ServiceBusOutput?parameter=
/api/ServiceBusOutput