如何单元测试azure功能blob存储触发器选项?
我有一个azure函数,当zip文件上载到azure blob存储容器时会触发该函数。我在内存中解压文件,处理内容,并将结果添加/更新到数据库中。而对于db部分,我可以使用内存中的db选项。不知何故,我不太确定如何模拟blob触发器来对azure函数进行单元测试 所有的官方示例和一些博客大多讨论Http触发器(模仿httprequest)和队列触发器(使用IAsynCollection)如何单元测试azure功能blob存储触发器选项?,azure,azure-functions,azure-blob-storage,Azure,Azure Functions,Azure Blob Storage,我有一个azure函数,当zip文件上载到azure blob存储容器时会触发该函数。我在内存中解压文件,处理内容,并将结果添加/更新到数据库中。而对于db部分,我可以使用内存中的db选项。不知何故,我不太确定如何模拟blob触发器来对azure函数进行单元测试 所有的官方示例和一些博客大多讨论Http触发器(模仿httprequest)和队列触发器(使用IAsynCollection) 有一个关于azure功能的单元测试/集成测试项目,包括中的blob触发器,请在您身边试一试。请注意,单元测试
有一个关于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);
}
}
}
}
你的blob触发器是什么样子的?你能通过下面的帖子解决这个问题吗?@IvanYang我之前看过这个github代码。这并没有起到多大的作用。在我的案例中,方法也发生了变化,我还没有开始做这方面的工作。
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);
}
}
}
}