Skip to content

chore: Bump the mstest group with 2 updates#805

Merged
vbreuss merged 1 commit intomainfrom
dependabot/nuget/mstest-067075dd58
Oct 13, 2025
Merged

chore: Bump the mstest group with 2 updates#805
vbreuss merged 1 commit intomainfrom
dependabot/nuget/mstest-067075dd58

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Oct 13, 2025

Updated MSTest.TestAdapter from 3.11.0 to 4.0.0.

Release notes

Sourced from MSTest.TestAdapter's releases.

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]
public sealed class Test1
{
    [TestMethod]
    public void TestMethod1()
    {
        var animal = "Tiger";
        var zoo = new Zoo();
        Assert.That(() => zoo.GetAnimal() == animal);
    }
}

public class Zoo
{
    public string GetAnimal()
    {
        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]
public sealed class Test1
{
    [TestMethod]
    public void TestMethod1()
    {
        string animal = null;
        Assert.AreEqual("Giraffe", animal);
    }
}
 ... (truncated)

## 4.0.0-preview.25372.6

This is a prerelease of MSTest v4. Docs on migration from v3 to v4 are in progress. We are working towards addressing the items tracked in #​1285 and #​5762

## 4.0.0-preview.25358.7

This is a prerelease of MSTest v4. Docs on migration from v3 to v4 are in progress. We are working towards addressing the items tracked in https://github.com/microsoft/testfx/issues/1285 and https://github.com/microsoft/testfx/issues/5762

Commits viewable in [compare view](https://github.com/microsoft/testfx/compare/v3.11.0...v4.0.0).
</details>

Updated [MSTest.TestFramework](https://github.com/microsoft/testfx) from 3.11.0 to 4.0.0.

<details>
<summary>Release notes</summary>

_Sourced from [MSTest.TestFramework's releases](https://github.com/microsoft/testfx/releases)._

## 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:

```csharp
[TestClass]
public sealed class Test1
{
    [TestMethod]
    public void TestMethod1()
    {
        var animal = "Tiger";
        var zoo = new Zoo();
        Assert.That(() => zoo.GetAnimal() == animal);
    }
}

public class Zoo
{
    public string GetAnimal()
    {
        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]
public sealed class Test1
{
    [TestMethod]
    public void TestMethod1()
    {
        string animal = null;
        Assert.AreEqual("Giraffe", animal);
    }
}
 ... (truncated)

## 4.0.0-preview.25372.6

This is a prerelease of MSTest v4. Docs on migration from v3 to v4 are in progress. We are working towards addressing the items tracked in #​1285 and #​5762

## 4.0.0-preview.25358.7

This is a prerelease of MSTest v4. Docs on migration from v3 to v4 are in progress. We are working towards addressing the items tracked in https://github.com/microsoft/testfx/issues/1285 and https://github.com/microsoft/testfx/issues/5762

Commits viewable in [compare view](https://github.com/microsoft/testfx/compare/v3.11.0...v4.0.0).
</details>

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions


</details>

Bumps MSTest.TestAdapter from 3.11.0 to 4.0.0
Bumps MSTest.TestFramework from 3.11.0 to 4.0.0

---
updated-dependencies:
- dependency-name: MSTest.TestAdapter
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: mstest
- dependency-name: MSTest.TestFramework
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: mstest
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Oct 13, 2025
@github-actions
Copy link
Copy Markdown
Contributor

Test Results

    14 files   - 24      14 suites   - 24   5m 16s ⏱️ +26s
17 963 tests  - 24  17 961 ✅  - 24  2 💤 ±0  0 ❌ ±0 
50 526 runs   - 72  50 524 ✅  - 72  2 💤 ±0  0 ❌ ±0 

Results for commit 8a7caf9. ± Comparison against base commit 0a4f21e.

This pull request removes 1577 and adds 1553 tests. Note that renamed tests count towards both.
aweXpect.Core.Tests.Core.Exceptions.FailExceptionTests ‑ Message_ShouldBeSet(message: "message61630577-014b-414b-9c67-ccb62596a3ce")
aweXpect.Core.Tests.Core.Exceptions.FailExceptionTests ‑ Message_ShouldBeSet(message: "messagea34a6a05-38a5-44b2-9b15-6ca51a4309ef")
aweXpect.Core.Tests.Core.Exceptions.FailExceptionTests ‑ Message_ShouldBeSet(message: "messagec9b91b0f-12b2-452a-acc8-bd01d0d0d2eb")
aweXpect.Core.Tests.Core.Exceptions.SkipExceptionTests ‑ Message_ShouldBeSet(message: "message429266f7-a8ac-467c-949d-e02eb08b16dd")
aweXpect.Core.Tests.Core.Exceptions.SkipExceptionTests ‑ Message_ShouldBeSet(message: "message4597d5be-97cd-4dcc-bfc5-1cb869d95235")
aweXpect.Core.Tests.Core.Exceptions.SkipExceptionTests ‑ Message_ShouldBeSet(message: "message5f2e5242-04b7-4a90-8d72-3f27c40eef6f")
aweXpect.Core.Tests.FailTests ‑ Test_ShouldThrowException(reason: "reason832c6ce9-1111-42fb-a9b7-006b61958e27")
aweXpect.Core.Tests.FailTests ‑ Test_ShouldThrowException(reason: "reason89a377ed-0cf5-49ef-8b7c-c6ced08b1a7e")
aweXpect.Core.Tests.FailTests ‑ Test_ShouldThrowException(reason: "reason90070c56-d39b-4493-b1de-d0c585d07ae1")
aweXpect.Core.Tests.FailTests ‑ Unless_ShouldThrowException(condition: False, reason: "reason3dd130ff-d4cd-4432-b769-facf87213f2c")
…
aweXpect.Core.Tests.Core.Exceptions.FailExceptionTests ‑ Message_ShouldBeSet(message: "message25c77e28-8d77-46a9-a0fa-69fb219cc4f3")
aweXpect.Core.Tests.Core.Exceptions.FailExceptionTests ‑ Message_ShouldBeSet(message: "message2cc6c327-a364-44d8-9667-a03c69710bf7")
aweXpect.Core.Tests.Core.Exceptions.FailExceptionTests ‑ Message_ShouldBeSet(message: "messagee55b6a32-8001-4301-bc9d-6ced37c4612a")
aweXpect.Core.Tests.Core.Exceptions.SkipExceptionTests ‑ Message_ShouldBeSet(message: "message11964a03-be01-4b0f-a865-1ceba9002a40")
aweXpect.Core.Tests.Core.Exceptions.SkipExceptionTests ‑ Message_ShouldBeSet(message: "message70597a67-ee18-453c-9f3c-1966f3b9e696")
aweXpect.Core.Tests.Core.Exceptions.SkipExceptionTests ‑ Message_ShouldBeSet(message: "message89a86225-97b0-46e8-a0dd-c6139ef5a168")
aweXpect.Core.Tests.FailTests ‑ Test_ShouldThrowException(reason: "reason7183a478-31ee-448f-b6bd-9a01156d8b47")
aweXpect.Core.Tests.FailTests ‑ Test_ShouldThrowException(reason: "reasonc566c50a-355f-4e6c-a74d-893df0cdd5bd")
aweXpect.Core.Tests.FailTests ‑ Test_ShouldThrowException(reason: "reasoncf5fa2d2-edee-4df3-b81f-8ed5fb518205")
aweXpect.Core.Tests.FailTests ‑ Unless_ShouldThrowException(condition: False, reason: "reason2c56f24a-5d10-43d7-a7d0-8f3ef465bb8a")
…

@github-actions
Copy link
Copy Markdown
Contributor

🚀 Benchmark Results

Details

BenchmarkDotNet v0.14.0, Ubuntu 24.04.3 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 8.0.414
[Host] : .NET 8.0.20 (8.0.2025.41914), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Method Mean Error StdDev Gen0 Gen1 Allocated
Bool_aweXpect 268.1 ns 5.39 ns 5.04 ns 0.0281 - 712 B
Bool_FluentAssertions 277.8 ns 5.82 ns 5.44 ns 0.0377 - 952 B
Bool_TUnit 988.3 ns 5.06 ns 4.73 ns 0.0954 - 2408 B
Equivalency_aweXpect 310,869.1 ns 1,092.64 ns 1,022.06 ns 13.1836 0.4883 335556 B
Equivalency_FluentAssertions 2,124,357.2 ns 13,536.19 ns 12,661.76 ns 179.6875 27.3438 4584401 B
Equivalency_TUnit 650,728.5 ns 2,060.58 ns 1,826.65 ns 34.1797 1.9531 880545 B
Int_GreaterThan_aweXpect 272.3 ns 2.21 ns 1.96 ns 0.0324 - 816 B
Int_GreaterThan_FluentAssertions 309.7 ns 4.46 ns 4.17 ns 0.0486 - 1224 B
Int_GreaterThan_TUnit 1,271.0 ns 6.98 ns 6.53 ns 0.1183 - 2984 B
ItemsCount_AtLeast_aweXpect 539.0 ns 6.08 ns 5.39 ns 0.0582 - 1464 B
ItemsCount_AtLeast_FluentAssertions 518.5 ns 9.52 ns 8.43 ns 0.0792 - 2008 B
ItemsCount_AtLeast_TUnit 14,629.7 ns 95.95 ns 85.06 ns 1.0834 - 27480 B
String_aweXpect 503.7 ns 8.07 ns 7.55 ns 0.0486 - 1232 B
String_FluentAssertions 559.3 ns 13.70 ns 12.82 ns 0.0858 - 2168 B
String_TUnit 1,315.2 ns 7.41 ns 6.57 ns 0.1221 - 3072 B
StringArray_aweXpect 1,748.9 ns 7.03 ns 6.57 ns 0.1144 - 2888 B
StringArray_FluentAssertions 1,459.4 ns 14.29 ns 13.37 ns 0.1640 - 4152 B
StringArray_TUnit 3,213.3 ns 9.38 ns 8.78 ns 0.2098 - 5296 B
StringArrayInAnyOrder_aweXpect 2,293.3 ns 4.54 ns 4.25 ns 0.1221 - 3080 B
StringArrayInAnyOrder_FluentAssertions 114,897.9 ns 377.34 ns 334.50 ns 2.4414 - 63751 B
StringArrayInAnyOrder_TUnit 4,082.3 ns 13.01 ns 12.17 ns 0.2518 - 6488 B

@github-actions
Copy link
Copy Markdown
Contributor

👽 Mutation Results

Mutation testing badge

aweXpect

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Total Detected Total Undetected Total Mutants

The final mutation score is NaN%

Coverage Thresholds: high:80 low:60 break:0

aweXpect.Core

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Total Detected Total Undetected Total Mutants

The final mutation score is NaN%

Coverage Thresholds: high:80 low:60 break:0

@vbreuss vbreuss merged commit bdf6ee0 into main Oct 13, 2025
12 checks passed
@vbreuss vbreuss deleted the dependabot/nuget/mstest-067075dd58 branch October 13, 2025 17:57
github-actions Bot added a commit that referenced this pull request Oct 13, 2025
github-actions Bot added a commit that referenced this pull request Oct 13, 2025
@github-actions
Copy link
Copy Markdown
Contributor

This is addressed in release v2.27.0.

@github-actions github-actions Bot added the state: released The issue is released label Oct 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .net code state: released The issue is released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant