실험적 Microsoft.Testing.Platform.AI 패키지는 테스트 프레임워크와 MTP 확장을 위한 공급자 중립적인 AI 추상화를 정의합니다. 이 패키지는 Microsoft.Extensions.AI와 통합되므로 확장은 특정 모델 공급자에 의존하지 않고도 IChatClient를 요청할 수 있습니다.
Important
AI API는 진단 ID를 TPEXP 사용하며 향후 릴리스에서 변경할 수 있습니다. 패키지는 확장에 인프라를 제공합니다. 자체 테스트 도구 모음에 AI 동작을 추가하지 않습니다.
테스트 워크플로에 AI 코딩 도구 사용
이 문서의 패키지를 통해 MTP 확장은 테스트 실행 중에 AI 모델을 호출할 수 있습니다. AI 코딩 도우미를 사용하여 리포지토리에서 테스트를 생성, 분석 또는 마이그레이션하려면 큐레이팅된 .NET 에이전트 기술을 대신 사용합니다.
목표에 따라 워크플로를 선택합니다.
| 목표 | 스킬 또는 에이전트 |
|---|---|
| 테스트 만들기 또는 확장 |
code-testing-agent 플러그인의 dotnet-test 기능을 사용합니다. 이 기술은 코드베이스를 연구하고, 작업을 계획하고, 테스트를 구현하고, 변경 내용을 확인합니다. |
| 테스트 실행 또는 문제 해결 |
run-tests기능을 사용하여 테스트 코드를 변경하지 않고 테스트를 실행하거나 테스트 실행 문제를 진단하세요. |
| 테스트 품질 감사 | 전반적인 평가에는 test-quality-auditor 에이전트를 사용하고, assertion, 커버리지, 테스트 갭 또는 테스트 스멜의 경우 dotnet-test 스킬 디렉터리에서 특화된 스킬을 호출하세요. |
| 테스트 용이성 향상 | 에이전트를 testability-migration 사용하여 정적 종속성을 찾고 테스트 가능한 추상화가 도입됩니다. |
| 테스트 프레임워크 또는 플랫폼 마이그레이션 | 플러그 인에서 test-migration 에이전트를 dotnet-test-migration사용합니다. 에이전트는 현재 설정을 검색하고 적절한 마이그레이션 기술을 선택합니다. |
설치 단계 및 지원되는 코딩 에이전트는 .NET 에이전트 기술 리포지토리를 참조하세요. 마이그레이션 워크플로에서 플랫폼 감지와 테스트 검증 기능을 재사용하므로 dotnet-test와 함께 dotnet-test-migration를 설치하세요.
패키지 선택
채팅 클라이언트를 사용하는 확장을 작성할 때 추상화 패키지를 추가합니다. 확장을 호스트하는 테스트 애플리케이션에 공급자 패키지를 추가합니다.
dotnet add package Microsoft.Testing.Platform.AI
dotnet add package Microsoft.Testing.Extensions.AzureFoundry
Microsoft.Testing.Extensions.AzureFoundry는 Microsoft 제공 참조 공급자입니다. Azure AI Foundry 통해 Azure OpenAI 채팅 클라이언트를 만듭니다.
Azure AI Foundry 구성
다음 환경 변수를 설정합니다.
| Variable | 필수 | Description |
|---|---|---|
AZURE_OPENAI_ENDPOINT |
Yes | Azure OpenAI 리소스 엔드포인트(예: https://my-resource.openai.azure.com.) |
AZURE_OPENAI_DEPLOYMENT_NAME |
Yes | 모델 배포 이름입니다. |
AZURE_OPENAI_API_KEY |
Conditional | 리소스 API 키입니다. 코드에서 TokenCredential를 등록하지 않는 경우에만 이 값을 설정하세요. |
자격 증명을 소스 제어에서 벗어나게 하려면 로컬 환경 또는 보호된 CI 비밀 저장소를 통해 이러한 값을 제공합니다.
공급자를 등록합니다.
생성된 MTP 진입점을 사용하지 않도록 설정하고 사용자 지정 Main 메서드에 공급자를 등록합니다. API 키 인증의 경우 다음을 호출합니다.
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider();
#pragma warning restore TPEXP
Microsoft Entra ID 또는 관리 ID의 경우 Azure.Identity 패키지를 참조하고 자격 증명을 전달합니다.
using Azure.Identity;
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider(new DefaultAzureCredential());
#pragma warning restore TPEXP
설정되면 AZURE_OPENAI_API_KEY 공급자는 제공된 자격 증명 앞에 API 키를 사용합니다. 자격 증명 확인 및 인증은 첫 번째 채팅 요청이 실행될 때 발생하므로 공급자 등록 중에 구성 오류가 나타나지 않을 수 있습니다.
채팅 클라이언트 사용
다른 AI 공급자를 통합하기 위해 구현 IChatClientProvider 합니다. MTP 확장은 자신의 IServiceProvider에서 등록된 채팅 클라이언트를 가져올 수 있습니다.
IChatClient? client =
await serviceProvider.GetChatClientAsync(cancellationToken);
사용 가능한 공급자가 등록되지 않은 경우 호출이 반환 null 됩니다. 확장이 모델에 테스트 데이터를 보내기 전에 보내는 데이터를 문서화하고 해당 데이터에 대한 개인 정보, 보안 및 보존 요구 사항을 적용합니다.
참고하십시오
.NET