Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det experimentella Microsoft.Testing.Platform.AI-paketet definierar providerneutrala AI-abstraktioner för testramverk och MTP-tillägg. Paketet integreras med Microsoft.Extensions.AI, så att ett tillägg kan begära en IChatClient utan att vara beroende av en specifik modellleverantör.
Important
AI-API:erna använder diagnostik-ID TPEXP :t och kan ändras i en framtida version. Paketen tillhandahåller infrastruktur till tillägg. de lägger inte till AI-beteende i en testsvit på egen hand.
Använda AI-kodningsverktyg för testarbetsflöden
Paketen i den här artikeln gör att MTP-tillägg kan anropa AI-modeller under en testkörning. Om du vill använda en AI-kodningsassistent för att skapa, analysera eller migrera tester i ditt kodförråd ska du i stället använda de utvalda .NET-agentfärdigheterna.
Välj ett arbetsflöde baserat på ditt mål:
| Mål | Skicklighet eller agent |
|---|---|
| Skapa eller utöka tester | Använd code-testing-agent färdigheten från dotnet-test pluginet. Kunskapen undersöker kodbasen, planerar arbetet, implementerar tester och verifierar ändringarna. |
| Köra eller felsöka tester | Använd run-tests funktionen för att köra tester eller diagnostisera testkörningar utan att ändra testkoden. |
| Granskningstestkvalitet | Använd agententest-quality-auditor för en bred utvärdering eller anropa en fokuserad färdighet från kompetenskatalogendotnet-test för intyg, täckning, testluckor eller testlukt. |
| Förbättra testbarheten | Använd agententestability-migration för att hitta statiska beroenden och introducera testbara abstraktioner. |
| Migrera ett testramverk eller en plattform | Använd agententest-migration från plugin-programmetdotnet-test-migration. Agenten identifierar den aktuella konfigurationen och väljer lämplig migreringsfärdighet. |
Installationssteg och kodningsagenter som stöds finns i lagringsplatsen .NET agentkunskaper. Installera dotnet-test tillsammans dotnet-test-migration eftersom migreringsarbetsflöden återanvänder sina kunskaper om plattformsidentifiering och testverifiering.
Välj paketen
Lägg till abstraktionspaketet när du skapar ett tillägg som använder en chattklient. Lägg till ett leverantörspaket i testapplikationen som är värd för tillägget:
dotnet add package Microsoft.Testing.Platform.AI
dotnet add package Microsoft.Testing.Extensions.AzureFoundry
Microsoft.Testing.Extensions.AzureFoundry är referensprovidern från Microsoft. Den skapar en Azure OpenAI-chattklient via Azure AI Foundry.
Konfigurera Azure AI Foundry
Ange följande miljövariabler:
| Variable | Obligatoriskt | Description |
|---|---|---|
AZURE_OPENAI_ENDPOINT |
Yes | Resursslutpunkten Azure OpenAI, till exempel https://my-resource.openai.azure.com. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Yes | Namnet på modelldistributionen. |
AZURE_OPENAI_API_KEY |
Villkorlig | API-nyckeln för resursen. Ange det här värdet om du inte registrerar en TokenCredential i kod. |
Om du vill hålla autentiseringsuppgifterna borta från källkontrollen anger du dessa värden via din lokala miljö eller ett skyddat CI-hemligt arkiv.
Registrera providern
Inaktivera den genererade MTP-startpunkten och registrera providern i din anpassade Main metod. För API-nyckelautentisering anropar du:
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider();
#pragma warning restore TPEXP
För Microsoft Entra ID eller hanterad identitet refererar du till Azure.Identity paketet och skickar en autentiseringsuppgift:
using Azure.Identity;
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider(new DefaultAzureCredential());
#pragma warning restore TPEXP
När AZURE_OPENAI_API_KEY har angetts använder providern API-nyckeln före den angivna autentiseringsuppgiften. Matchning och autentisering av autentiseringsuppgifter inträffar när den första chattbegäran körs, så konfigurationsfel kanske inte visas under providerregistreringen.
Använd en chattklient
Implementera IChatClientProvider för att integrera en annan AI-provider. Ett MTP-tillägg kan hämta den registrerade chattklienten från sitt IServiceProvider:
IChatClient? client =
await serviceProvider.GetChatClientAsync(cancellationToken);
Anropet returnerar null när ingen tillgänglig provider har registrerats. Innan ett tillägg skickar testdata till en modell dokumenterar du vilka data som skickas och tillämpar sekretess-, säkerhets- och kvarhållningskraven för dessa data.