我可以使用Azure功能运行单元/集成测试吗?如何



背景

消除歧义:在这里,我没有试图测试我的Azure功能。相反,我正在研究使用Azure函数测试我的其他代码的可能性。

我正在用C#开发一个Azure web应用程序。我想对单元和集成测试(又称端到端测试(有很好的覆盖。我们使用Jenkins作为主要的持续集成工具。我们有一套测试,在每次Jenkins推送时都会运行。我们有以下利益冲突:

  • 我们希望我们的强制性Jenkins测试套件速度相当快(几分钟(
  • 我们希望对许多复杂场景进行自动化测试,这些场景可能需要很长时间(可能需要几分钟(

所以我正在研究如何在其他的地方自动运行我们的长期测试,而不是我们的常规Jenkins管道。

由于我们无论如何都需要Azure,我已经考虑让Azure功能运行我们的一些测试。它将每天晚上运行,需要获取最新的代码(要么从GitHub获取,要么我们的常规Jenkins工作可以将代码作为工件放在测试运行者可以获取的其他地方(并运行测试。

实际问题

我可以让任何标准的测试运行程序(例如dotnet test(从Azure功能运行吗?这合理可行吗?如果是,我该怎么做?

这可能是个坏主意。我是Azure功能的新手,所以我不知道这会有多困难。

替代方案可能是:

  • 一个单独的Jenkins管道
  • GitHub操作
  • Azure DevOps
  • Azure容器应用程序(我根本没有研究过(

我们使用的是C#、.NET 5.0+和ASP.NET Core。我们的测试目前使用xUnit,但该部分可以协商。

同样,我的核心问题是:让Azure函数运行一套测试是否可能——而且相当方便?还是我应该叫一棵完全不同的树?

提前感谢!

经过询问,我最终没有使用Azure函数。我现在使用的是GitHub Action,这似乎更适合。

最新更新