【问题标题】:Automated unit tests when deploying Azure Web app using the portal使用门户部署 Azure Web 应用程序时的自动化单元测试
【发布时间】:2018-04-19 15:42:41
【问题描述】:

我有一个具有以下结构的 ASP.NET MVC 解决方案:

Solution.sln
--- Solution/Main.csproj
--- Solution.Services.UnitTest/Solution.Services.UnitTest.csproj

为简单起见,假设我的主要解决方案是我的网站和服务。所以我们有一个解决方案就是“应用程序”。

UnitTest 解决方案是一个引用 Main 项目的简单解决方案,但包含大量单元测试(使用 NUnit)。

我已经在 Azure 中设置了自动部署。每次我在develop 上提交时,它都会更新一个网络应用程序,当我更新master 时,它会更新另一个网络应用程序。我通过在 Azure 门户中设置与我的 Github 存储库的集成来完成此操作:

Webapp --> Deployment --> Deployment Options

我的问题是:如何先运行单元测试?

我没有看到任何添加此选项的选项。如果我使用较新的Continious Delivery (Preview),我也看不到任何选项。

我可以看到有一个添加性能测试的选项,但这不是我需要的。

所以我的问题有两个:如何在 Azure 门户网站中添加这些单元测试/更新我的构建文件?如果这在 Azure 中是不可能的,那么如何解决这个(我认为很常见)问题的“规范”是什么?

【问题讨论】:

标签: asp.net .net asp.net-mvc azure nunit


【解决方案1】:

您可以将自定义 KUDU 脚本添加到解决方案的根目录。此时,您可以“完全”控制 Azure 中的构建和部署管道。 Azure 中的每个 Web 应用程序都有一个默认脚本。如果您拉取当前的 KUDU 脚本(假设您使用的是 dotnet core),您应该只需要在 dotnet publish 命令之前添加一个 dotnet test 命令并相应地失败。

https://github.com/projectkudu/kudu/wiki/Custom-Deployment-Script

如果您正在寻找更友好的替代方案,那么您可以在 Azure 之外使用任意数量的 CI/CD 工具。 VSTS 每月提供几个免费的构建时间。

【讨论】:

    猜你喜欢
    • 2010-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    相关资源
    最近更新 更多