Skip to content

Make all test methods virtual in VectorData.ConformanceTests - #7606

Merged
adamsitnik merged 1 commit into
mainfrom
copilot/make-test-methods-virtual
Jul 2, 2026
Merged

Make all test methods virtual in VectorData.ConformanceTests#7606
adamsitnik merged 1 commit into
mainfrom
copilot/make-test-methods-virtual

Conversation

Copilot AI commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Conformance test base classes should have all test methods marked virtual so providers can override behavior in derived types. Several methods were missing the modifier.

Changes

  • Added virtual to test methods in:
    • CollectionManagementTests.cs (6 methods)
    • DependencyInjectionTests.cs (2 methods)
    • HybridSearchTests.cs (7 methods)
    • ModelTests/DynamicModelTests.cs (1 method)

All other test files already had virtual on their test methods.

Before/After

// Before
[Fact]
public async Task HybridSearchAsync()

// After
[Fact]
public virtual async Task HybridSearchAsync()

Add the `virtual` modifier to all test methods (marked with [Fact],
[Theory], etc.) in Microsoft.Extensions.VectorData.ConformanceTests
that were missing it, so derived types can customize behavior.
Copilot AI requested a review from adamsitnik July 2, 2026 08:34
@adamsitnik
adamsitnik marked this pull request as ready for review July 2, 2026 08:43
Copilot AI review requested due to automatic review settings July 2, 2026 08:43
@adamsitnik
adamsitnik requested a review from roji July 2, 2026 08:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the VectorData conformance test base classes to make all xUnit test methods virtual, enabling providers to override test behavior in derived implementations.

Changes:

  • Marked [Fact] methods as virtual in CollectionManagementTests and HybridSearchTests.
  • Marked additional [Fact]/[Theory] methods as virtual in DependencyInjectionTests.
  • Marked Delete_single_record as virtual in ModelTests/DynamicModelTests.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
src/Libraries/Microsoft.Extensions.VectorData.ConformanceTests/CollectionManagementTests.cs Makes collection-management [Fact] tests virtual for provider overrides.
src/Libraries/Microsoft.Extensions.VectorData.ConformanceTests/DependencyInjectionTests.cs Makes DI-focused [Fact]/[Theory] tests virtual for provider overrides.
src/Libraries/Microsoft.Extensions.VectorData.ConformanceTests/HybridSearchTests.cs Makes hybrid-search [Fact] tests virtual for provider overrides.
src/Libraries/Microsoft.Extensions.VectorData.ConformanceTests/ModelTests/DynamicModelTests.cs Makes a dynamic-model delete [Fact] test virtual for provider overrides.

@adamsitnik

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@dotnet-comment-bot

Copy link
Copy Markdown
Collaborator

‼️ Found issues ‼️

Project Coverage Type Expected Actual
Microsoft.Extensions.Diagnostics.Testing Line 99 98.65 🔻
Microsoft.Extensions.Telemetry Line 93 91.95 🔻
Microsoft.Extensions.AI Line 89 88.52 🔻
Microsoft.Extensions.AI Branch 89 88.57 🔻
Microsoft.Extensions.AI.OpenAI Line 75 62.89 🔻
Microsoft.Extensions.AI.OpenAI Branch 75 50.41 🔻
Microsoft.Extensions.DataIngestion.MarkItDown Line 75 4.46 🔻
Microsoft.Extensions.DataIngestion.MarkItDown Branch 75 0 🔻
Microsoft.Extensions.Diagnostics.ResourceMonitoring Line 99 96.03 🔻
Microsoft.Extensions.Diagnostics.ResourceMonitoring Branch 99 94.39 🔻
Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes Line 99 97.73 🔻
Microsoft.Extensions.ServiceDiscovery.Dns Line 75 69.93 🔻
Microsoft.Extensions.ServiceDiscovery.Abstractions Line 75 42.11 🔻
Microsoft.Extensions.ServiceDiscovery.Abstractions Branch 75 42.86 🔻
Microsoft.Extensions.ServiceDiscovery Line 75 67.21 🔻
Microsoft.Extensions.ServiceDiscovery Branch 75 71.43 🔻
Microsoft.Extensions.ServiceDiscovery.Yarp Line 75 73.85 🔻
Microsoft.Extensions.ServiceDiscovery.Yarp Branch 75 70 🔻
Microsoft.Extensions.VectorData.Abstractions Line 75 37.39 🔻
Microsoft.Extensions.VectorData.Abstractions Branch 75 22.73 🔻

🎉 Good job! The coverage increased 🎉
Update MinCodeCoverage in the project files.

Project Expected Actual
Microsoft.Gen.BuildMetadata 97 100
Microsoft.Gen.MetadataExtractor 57 73
Microsoft.Gen.MetricsReports 67 69
Microsoft.Extensions.AI.Abstractions 82 85
Microsoft.Extensions.AI.Evaluation.NLP 0 78
Microsoft.Extensions.Caching.Hybrid 82 85
Microsoft.Extensions.DataIngestion 75 89
Microsoft.Extensions.DataIngestion.Markdig 75 90
Microsoft.Extensions.Http.Resilience 97 100

Full code coverage report: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1491357&view=codecoverage-tab

@adamsitnik adamsitnik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@adamsitnik
adamsitnik merged commit c869791 into main Jul 2, 2026
8 checks passed
@adamsitnik
adamsitnik deleted the copilot/make-test-methods-virtual branch July 2, 2026 12:27
@adamsitnik adamsitnik linked an issue Jul 2, 2026 that may be closed by this pull request
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MEVD ConformanceTests are not conditional

6 participants