gpt4 book ai didi

azure - 如何对azure函数blob存储触发选项进行单元测试?

转载 作者:行者123 更新时间:2023-12-02 22:59:02 25 4
gpt4 key购买 nike

我有一个 azure 函数,当 zip 文件上传到 azure blob 存储容器时会触发该函数。我将文件解压缩到内存中并处理内容并将结果添加/更新到数据库中。对于数据库部分,我可以使用内存数据库选项。不知何故,我不太确定如何模拟 blob 触发器来对该 azure 函数进行单元测试。

所有官方示例和一些博客主要讨论 Http 触发器(模拟 httprequest)和队列触发器(使用 IAsynCollection)。

[FunctionName("AzureBlobTrigger")]
public void Run([BlobTrigger("logprocessing/{name}", Connection = "AzureWebJobsStorage")]Stream blobStream, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {blobStream.Length} Bytes");
//processing logic
}

最佳答案

github中有一个关于azure函数的单元测试/集成测试的项目,包括blob触发器 ,请在你身边尝试一下。请注意,单元测试代码位于 FunctionApp.Tests 文件夹中。

来自 github 的一些关于 blob 触发器的代码片段:

BlobFunction.cs的单元测试代码

namespace FunctionApp.Tests
{
public class BlobFunction : FunctionTest
{
[Fact]
public async Task BlobFunction_ValidStreamAndName()
{
Stream s = new MemoryStream();
using(StreamWriter sw = new StreamWriter(s))
{
await sw.WriteLineAsync("This is a test");
BlobTrigger.Run(s, "testBlob", log);
}
}
}
}

关于azure - 如何对azure函数blob存储触发选项进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57777066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com