我正在使用.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>();
}
答案 0 :(得分:0)
您需要模拟HttpRequest
中的HttpRequest.Query Property
[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>();
}