Lars Holdgaard
Lars Holdgaard

Reputation: 9966

Automated unit tests when deploying Azure Web app using the portal

I have an ASP.NET MVC solution with the following structure:

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

For simplicity in this question, lets say my Main solution is both my website and services. So we have one solution with is the "application".

The UnitTest solution is a simple solution that refers the Main project, but with a lot of unit tests (using NUnit).

I have setup automatic deployment in Azure. Every time I make a commit on develop it updates one web-app, and when I update master, it updates another web-app. I've done this by setting up the integration to my Github repo here inside the Azure portal:

Webapp --> Deployment --> Deployment Options

My question is: how do I run my unit test first?

I don't see any options to add this. I don't see any option if I use the newer Continious Delivery (Preview) either.

I can see there is an option to add performance tests, but thatis not what I need.

So my question is two-fold: How do I add these unit tests inside the Azure web portal / updating my build file? And if this is not possible inside Azure, what is the "norm" on how to solve this (very common, I assume) problem?

Upvotes: 2

Views: 783

Answers (1)

Alex Terry
Alex Terry

Reputation: 2092

You can add a custom KUDU script to the root directory of your solution. At that point you have "complete" control over the build and deploy pipeline in Azure. Every web app has a default script in Azure. If you pull your current KUDU script (assuming your are using dotnet core), you should just need to add a dotnet test command before the dotnet publish command and fail accordingly.

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

If you have looking for a friendlier alternative, then you can use any number of CI/CD tools outside of Azure. VSTS offers several free build minutes every month.

Upvotes: 1

Related Questions