【发布时间】:2021-05-31 09:09:11
【问题描述】:
我们最近在 Azure Functions 中添加了 Azure 应用配置,现在我们希望通过测试触发应用配置的启动代码。
我们的函数启动代码是这样的——
public override void Configure(IFunctionsHostBuilder builder)
{
config = Utils.LoadConfig();
StartupHelper.AddCommonIoCDependencies(builder);
}
public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
//How do we trigger this method when testing???
StartupHelper.AddAzureAppConfiguration(builder);
}
在运行测试时触发初始配置方法,使用以下-
private MyFunction_sut;
[SetUp]
public void Setup()
{
var funcStartup = new Startup();
var host = new HostBuilder()
.ConfigureWebJobs(funcStartup.Configure)
.Build();
_sut = new MyFunction(...);
}
这适用于触发配置方法。尽管 HostBuilder 有 ConfigureAppConfiguration 选项,但我不知道如何让它工作。我觉得应该有一种快速简便的方法来处理我在下面的内容。
var host = new HostBuilder()
.ConfigureWebJobs(funcStartup.Configure)
.ConfigureAppConfiguration(x => {
//What do I put here to call trigger the ConfigureAppConfiguration method at startup?
//Or is it possible to call my helper "AddAzureAppConfiguration" method that is in a static class?
})
.Build();
如果有一种不同的方法来测试 Azure Functions 以添加到不涉及 HosatBuilder 的 Azure 应用程序配置中,那么我很想听听其他人的方法。在网上搜索时,我真的看不到太多,所以我觉得我错过了一些东西。
感谢任何建议!
【问题讨论】:
-
是的,我已经浏览了我能找到的所有官方文档。我可以看到您链接的页面上没有关于如何最好地测试 Azure 应用程序配置设置的任何内容。
-
我无法让它在我的环境中工作 - 它一直加载错误的值,但我认为这是我在 Rider 中的配置问题 - 这向您展示了如何触发对 ConfigureAppConfiguration 的调用。 docs.microsoft.com/en-us/answers/questions/206591/…
标签: azure unit-testing testing azure-functions azure-app-configuration