单元测试用例 - 从查询字符串参数传递和获取值

问题描述 投票:1回答:1

我正在使用.Net Core。我想将查询字符串参数的值从单元测试函数传递给azure函数。我面临传递和访问查询字符串参数值的问题。

网址是https://localhost:4300/api/RolePageMapping?EnterpriseId=xyz

我想在Azure函数中使用查询字符串参数。代码如下。

 public static async Task<HttpResponseMessage> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,
            ILogger log)
        {

                string EnterpriseId = req.Query["EnterpriseId"];
        }

我想知道如何将单元测试函数中的值传递给Azure函数?

[Fact]
public async Task Function_ReturnBadRequest()
{
    var request = new Mock<HttpRequest>();

    var logger = new MockLogger();

    var actualResult = await
    GetUserRolePageMapping.Run(request.Object, logger);
    actualResult.Should().BeOfType<HttpResponseMessage>();
}
c# .net core
1个回答
0
投票

你需要嘲笑HttpRequest.Query PropertyHttpRequest

[Fact]
public async Task Function_ReturnBadRequest() {
    //Arrange
    var expectedValue = new StringValues("Hello World"); //Or what you want
    var request = new Mock<HttpRequest>();
    request
        .Setup(_ => _.Query["EnterpriseId"])
        .Returns(expectedValue);

    var logger = new MockLogger();

    //Act
    var actualResult = await GetUserRolePageMapping.Run(request.Object, logger);

    //Assert
    actualResult.Should().BeOfType<HttpResponseMessage>();
}
© www.soinside.com 2019 - 2024. All rights reserved.