Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess
1.1.0
Prefix Reserved
dotnet add package Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess --version 1.1.0
NuGet\Install-Package Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess -Version 1.1.0
<PackageReference Include="Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess" Version="1.1.0" />
<PackageVersion Include="Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess" Version="1.1.0" />
<PackageReference Include="Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess" />
paket add Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess --version 1.1.0
#r "nuget: Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess, 1.1.0"
#:package Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess@1.1.0
#addin nuget:?package=Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess&version=1.1.0
#tool nuget:?package=Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess&version=1.1.0
Azure Functions Integration Testing Framework - Debugging
Since these are integration tests, they test the code like a client would by making requests and inspecting the result. However, it is often useful to be able to
see what the server is doing and step through the code. Since the tests and the functions host run in two (or three) different processes, that can be tricky.
The solution is the Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess package.
Setup
Test Project
Add a reference to this package from your test project. In your TestStartup, call builder.DebugIntoFunctions(), which will cause Visual Studio
to automatically attach to the func.exe process when the tests are being debugged.
Function App
Since the code has to wait until the process starts in order to attach to it, there can be timing issues where you may not be able to debug the very
earliest lines of code in your app. To solve that, add a reference to Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess.Core to your function app
(not tests app) and call DebugHelper.WaitForDebuggerToAttach() as the very first line of code (in your Startup.cs or Program.cs)
Usage
When you Debug your tests, VS will automatically attach to the function process as well (including the worker process for Isolated functions) so you can set breakpoints and step through both the test code and the functions being tested.
When you Run your tests, and when the code is directly outside of tests (including when deployed to Azure), the DebugHelper.WaitForDebuggerToAttach() is a no-op and wont cause any harm.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- envdte80 (>= 17.10.40170)
- Microsoft.Learn.AzureFunctionsTesting.Core (>= 1.1.0)
- Microsoft.Learn.AzureFunctionsTesting.Extension.DebugProcess.Core (>= 1.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.