Skip to content

Bump MSTest from 3.9.2 to 4.3.0 - #20051

Open
dependabot[bot] wants to merge 9 commits into
mainfrom
dependabot/nuget/src/MSTest-4.3.0
Open

Bump MSTest from 3.9.2 to 4.3.0#20051
dependabot[bot] wants to merge 9 commits into
mainfrom
dependabot/nuget/src/MSTest-4.3.0

Conversation

@dependabot

@dependabotdependabotBot commented on behalf of githubJul 13, 2026

Copy link
Copy Markdown
Contributor

Updated MSTest from 3.9.2 to 4.3.0.

Release notes

Sourced from MSTest's releases.

4.3.0

See the release notes here

4.2.3

See the release notes here

4.2.2

See the release notes here

4.2.1

See the release notes here

4.1.0

See the release notes here

4.0.2

See the release notes here

4.0.1

See the release notes here

4.0.0

What is new?

Assert.That

MSTest v4 adds a new type of assertion, that allows you to write any expression, and it will inspect the result to give you more information on failure. Providing a very flexible way to assert complicated expressions. Here a simple example:

[TestClass]publicsealedclassTest1{[TestMethod]publicvoidTestMethod1(){varanimal="Tiger";varzoo=newZoo();Assert.That(()=>zoo.GetAnimal()==animal);}}publicclassZoo{publicstringGetAnimal(){return"Giraffe";}}
Assert.That(() => zoo.GetAnimal() == animal) failed.
Details:
animal = "Tiger" zoo.GetAnimal() = "Giraffe"

CallerArgumentExpression

CallerArgumentExpression is consumed by all assertions, to make them aware of the expressions used in the assertion. In the example below, we now know what both the expected and actual values are. But also what value they come from, giving us opportunity to provide better error messages:

[TestClass]publicsealedclassTest1{[TestMethod]publicvoidTestMethod1(){stringanimal=null;Assert.AreEqual("Giraffe",animal);}}
...(truncated)
## 4.0.0-preview.25372.6Thisisaprerelease of MSTest v4.Docs on migration from v3 to v4 are in progress. We are working towards addressing the items trackedin #​1285 and #​5762
## 4.0.0-preview.25358.7Thisisaprerelease of MSTest v4.Docs on migration from v3 to v4 are in progress. We are working towards addressing the items trackedinhttps://github.com/microsoft/testfx/issues/1285 and https://github.com/microsoft/testfx/issues/5762
## 3.11.1Seethe release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.11.1)
## 3.11.0Seethe release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.11.0)
## 3.10.5Seethe release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.5)
## 3.10.4Seethe release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.4)
## 3.10.3Seethe release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.3)
## 3.10.2Seethe release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.2)
## 3.10.1Seethe release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.1)
## 3.10.0Seethe release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.10.0)
## 3.9.3
## What's Changed*Simplerfix for dotnet test when using retry by @​Youssef1313in #​5732.Note that thisPR targets rel/3.9branch.For3.10, we did a different fix: https://github.com/microsoft/testfx/pull/5717
See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#​3.9.3
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#​1.7.3**Full Changelog**: https://github.com/microsoft/testfx/compare/v3.9.2...v3.9.3Commits viewable in[compare view](https://github.com/microsoft/testfx/compare/v3.9.2...v4.3.0).</details>[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=MSTest&package-manager=nuget&previous-version=3.9.2&new-version=4.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)You can trigger a rebase of this PR by commenting `@dependabot rebase`.[//]: # (dependabot-automerge-start)[//]: # (dependabot-automerge-end)---<details><summary>Dependabot commands and options</summary><br />
You can trigger Dependabot actions by commenting on this PR:- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more forthis major version (unlessyou reopen the PR or upgrade to it yourself)- `@dependabot ignore thisminor version` will close thisPR and stop Dependabot creating any more for thisminor version (unlessyou reopen the PR or upgrade to it yourself)- `@dependabot ignore thisdependency` will close this PR and stop Dependabot creating any more forthis dependency (unless you reopen the PR or upgrade to it yourself)</details>
###### Microsoft Reviewers:[OpeninCodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/Azure/bicep/pull/20051)>**Note**> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

---
updated-dependencies:
- dependency-name: MSTest
dependency-version: 4.3.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
@dependabotdependabotBot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Jul 13, 2026

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.

:shipit:

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.

:shipit:

@microsoft-github-policy-servicemicrosoft-github-policy-serviceBot added the auto-merge Automatically merge this PR label Jul 13, 2026

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.

:shipit:

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.

:shipit:

@github-actions

github-actionsBot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Test this change out locally with the following install scripts (Action run 33541613133)

VSCode
  • Mac/Linux
    bash <(curl -Ls https://aka.ms/bicep/nightly-vsix.sh) --run-id 33541613133
  • Windows
    iex "& { $(irm https://aka.ms/bicep/nightly-vsix.ps1) } -RunId 33541613133"
Azure CLI
  • Mac/Linux
    bash <(curl -Ls https://aka.ms/bicep/nightly-cli.sh) --run-id 33541613133
  • Windows
    iex "& { $(irm https://aka.ms/bicep/nightly-cli.ps1) } -RunId 33541613133"

@brendandburns

Copy link
Copy Markdown
Member

Copilot please fix CI/CD

CopilotAI commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Copilot please fix CI/CD

Fixed. The CI failures were caused by MSTest 4.x bundling Microsoft.Testing.Platform.MSBuild 2.3.1, which blocks the old VSTest execution path on .NET 10 SDK.

Changes made:

  • global.json: Added "test": { "runner": "Microsoft.Testing.Platform" } to opt into the new MTP-based dotnet test mode required by MSTest 4.x on .NET 10 SDK
  • src/Directory.Build.props: Suppressed 5 new MSTest 4.x analyzer errors (MSTEST0017, MSTEST0044, MSTEST0052, MSTEST0055, MSTEST0065) that fire on existing code, with TODO comments for future cleanup
  • StringExtensionsTests.cs: Replaced removed Assert.ThrowsException<T>() with Assert.Throws<T>()
  • BaselineHelper.cs: Updated TestContext.Properties.Contains()ContainsKey() (Properties changed from IDictionary to IReadOnlyDictionary in MSTest 4.x)
  • SnippetTemplatesTests.cs: Replaced removed Assert.Fail(format, args) overloads with interpolated strings

@dependabot@github

dependabotBot commented on behalf of githubJul 20, 2026

Copy link
Copy Markdown
ContributorAuthor

A newer version of MSTest exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.

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.

:shipit:

@brendandburns

Copy link
Copy Markdown
Member

Copilot please update MSTest to the latest version and make sure CI/CD passes

@brendandburns

Copy link
Copy Markdown
Member

Copilot please update MSTest to the latest version and make sure CI/CD passes

…rability
Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com>

CopilotAI commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Copilot please update MSTest to the latest version and make sure CI/CD passes

Updated MSTest to 4.3.3 (the current latest) in commit Update MSTest to 4.3.3 and fix System.Security.Cryptography.Xml vulnerability. Also bumped System.Security.Cryptography.Xml from 8.0.3 to 10.0.11 to resolve high-severity vulnerability warnings that were blocking the build. The build succeeds and tests pass.

@brendandburns

Copy link
Copy Markdown
Member

Copilot please do the migrations marked as TODO in this change and remove the suppressions from this change.

…icDataSourceType, fix assertion issues
Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com>
…0' into dependabot/nuget/src/MSTest-4.3.0
# Conflicts:
#	src/Bicep.Core.UnitTests/ApiVersion/ApiVersionProviderTests.cs
#	src/Bicep.Core.UnitTests/Configuration/RootConfigurationTests.cs
#	src/Bicep.Core.UnitTests/Modules/OciArtifactModuleReferenceTests.cs
#	src/Bicep.Core.UnitTests/Modules/TemplateSpecModuleReferenceTests.cs
#	src/Bicep.Core.UnitTests/Registry/ArtifactDispatcherTests.cs
#	src/Bicep.LangServer.IntegrationTests/TelemetryTests.cs
#	src/Bicep.LangServer.UnitTests/Completions/ModuleReferenceCompletionProviderTests.cs
Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com>

CopilotAI commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Copilot please do the migrations marked as TODO in this change and remove the suppressions from this change.

Done. All the TODO migrations have been completed and the suppressions removed from Directory.Build.props:

  • MSTEST0044: Replaced [DataTestMethod][TestMethod] across all 158 test files (~665 occurrences, including the [DataTestMethod()] variant)
  • MSTEST0052: Removed DynamicDataSourceType.Method/.Property arguments from all [DynamicData(...)] attributes (48 files)
  • MSTEST0065: Fixed Assert.AreEqual on JToken (which implements IEnumerable) in ObjectDeserializationTests.cs by using Value<T>() to extract typed values
  • MSTEST0017: Fixed swapped expected/actual argument order in ObjectDeserializationTests.cs
  • MSTEST0055: Fixed BicepToolsTests.cs where Contains and Equals return values were silently ignored inside AllSatisfy lambdas (replaced with proper FluentAssertions calls)

All test projects build with 0 errors and tests pass.

@brendandburns

Copy link
Copy Markdown
Member

Copilot please fix CI/CD

CopilotAIand others added 2 commits September 1, 2026 17:35
…bility in ResultAssertionsExtensionsTests
Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com>
…lean from removing bicep AppHost in RpcClient.Tests
Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com>

CopilotAI commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Copilot please fix CI/CD

Fixed two remaining CI failures:

  1. Bicep.RegistryModuleTool.TestFixtures crash — added <EnableMSTestRunner>false</EnableMSTestRunner> to prevent MTP global mode from treating this Library project as a test executable.

  2. Bicep.RpcClient.Tests missing bicep AppHost — changed CopyBicepAppHost target from BeforeTargets="CopyFilesToOutputDirectory" to AfterTargets="Build" and added the copied file to @(FileWrites). The previous approach was skipped on incremental builds, causing IncrementalClean to delete bicep as a stale file. The new approach always runs after Build and registers the file so IncrementalClean never removes it.

@github-actions

Copy link
Copy Markdown
Contributor

Copilot The Build workflow failed for this dependabot dependency-update PR (run ID: 33532934228).

Please investigate and fix the failing tests so this PR can be merged. Failed run: https://github.com/Azure/bicep/actions/runs/33532934228

Things to consider for this repo:

  • Baseline tests – if snapshot/baseline files are out of date, regenerate them with
    dotnet test -- --filter TestCategory=Baseline --test-parameter SetBaseLine=true
    and commit the updated files.
  • Unit / integration tests – identify the root cause of any compilation or assertion
    failures introduced by the updated dependency and make the minimal code changes required.
  • npm tests – if a JavaScript/TypeScript package was updated, check whether any
    type definitions or API calls need updating in src/vscode-bicep or src/vscode-bicep-ui.

Please keep changes minimal and focused on compatibility with the new dependency versions.

@brendandburns

Copy link
Copy Markdown
Member

Copilot The Build workflow failed for this dependabot dependency-update PR (run ID: 33532934228).

Please investigate and fix the failing tests so this PR can be merged. Failed run: https://github.com/Azure/bicep/actions/runs/33532934228

Things to consider for this repo:

Baseline tests – if snapshot/baseline files are out of date, regenerate them with
dotnet test -- --filter TestCategory=Baseline --test-parameter SetBaseLine=true
and commit the updated files.
Unit / integration tests – identify the root cause of any compilation or assertion
failures introduced by the updated dependency and make the minimal code changes required.
npm tests – if a JavaScript/TypeScript package was updated, check whether any
type definitions or API calls need updating in src/vscode-bicep or src/vscode-bicep-ui.
Please keep changes minimal and focused on compatibility with the new dependency versions.

@brendandburns

Copy link
Copy Markdown
Member

Copilot please investigate and fix CI/CD.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-mergeAutomatically merge this PRdependenciesPull requests that update a dependency file.NETPull requests that update .net code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@brendandburns