Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update mstest monorepo to v3 (major) #21

Merged
merged 1 commit into from
Dec 26, 2024
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 26, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
MSTest.TestAdapter 2.2.10 -> 3.7.0 age adoption passing confidence
MSTest.TestFramework 2.2.10 -> 3.7.0 age adoption passing confidence

Release Notes

microsoft/testfx (MSTest.TestAdapter)

v3.7.0

See the release notes here

v3.6.4

See the release notes here

v3.6.3

See the release notes here

v3.6.2

See the release notes here

v3.6.1

See the release notes here

v3.6.0

See the release notes here

Special shoutout to @​SimonCropp for his exceptional contribution in improving the quality of the repository.

v3.5.2

See the release notes here

v3.5.1

See the release notes here

v3.5.0

See the release notes here

v3.4.3

See the release notes here

v3.4.2: v.3.4.2

See the release notes here

v3.4.1

See the release notes here

v3.4.0

Here are the highlights of the current release, full change log is available below:

MSTest
New and improved analyzers

We've added more code analyzers to help you prevent mistakes, and to ensure a consistent code style of your tests.

One example of a new analyzer that was added in 3.4.0 is MSTEST0024: Do not store TestContext in static members. This analyzer has info severity by default, and will show a message, when you store TestContext in a static member in your class. This is not recommended, and you should be using a TestContext property instead:

image

The other analyzers added in this release:

If you've just learned about MSTest analyzers, please also check out the analyzers that were added in previous releases. They will help you ensure that your test classes and test methods are recognized by MSTest and are not accidentally ignored.

The analyzers are automatically installed with the MSTest NuGet meta-package. But can also be installed separately using the MSTest.Analyzers NuGet package.

More timeout options

Timeout can now be specified on all fixture methods, including ClassCleanup, AssemblyCleanup, TestCleanup and TestInitalize. In this case I want my [ClassCleanup] to time out after 1 second:

image

Alternatively timeouts can be specified through runsettings. For example like this:

<RunSettings>
  <MSTest>
    <ClassCleanupTimeout>1000</ClassCleanupTimeout>
  </MSTest>
</RunSettings>
Better errors on data mismatch

When you provide data that don't match your test method signature, the test will fail with an informative message, rather than just "Parameter count mismatch.".

image

image

(There is also an analyzer that helps with the same while you are writing the code.)

MSTest SDK updates

We've introduced MSTest project SDK in this .NET Blog post.

Choosing version in global.json

In this release we are promoting a way to define the MSTest.Sdk version in global.json. This makes it easier to specify the version in a single place, instead of in every project.

{
    "msbuild-sdks": {
        "MSTest.Sdk": "3.4.0"
    }
}
<Project Sdk="MSTest.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
  </PropertyGroup>
</Project>
Playwright support

We've added a property to enable Playwright, to simplify creating web tests:

<Project Sdk="MSTest.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>

    <EnablePlaywright>true</EnablePlaywright>
  </PropertyGroup>
</Project>
Aspire testing support

Similarly we've added a property to enable Aspire testing:

<Project Sdk="MSTest.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>

    <EnabledAspireTesting>true</EnabledAspireTesting>
  </PropertyGroup>
</Project>
Central package management

NuGet central package management can now be used together with MSTest.Sdk.

More examples of SDK projects

To see more examples of projects using MSTest.Sdk:
https://github.com/microsoft/testfx/tree/rel/3.4/samples/public/DemoMSTestSdk

MSTest runner
Simpler banner

We've took inspiration from MSBuild and simplified the runner banner, to show the information, on a single line:

.NET Testing Platform v1.2.0+3abae95b6 (UTC 2024/05/03) [win-x64 - .NET 8.0.4]
STA support and WinUI support

The runner can be configured to run in STA (Single Thread Apartment) mode, which is required for running UI tests. And it also supports WinUI workloads.

See MSTestRunnerWinUI example

And more

And much more, see the complete change log here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#3.4.0

New Contributors

A special thank you to all our new contributors:

v3.3.1

See the release notes here

v3.3.0

See the release notes here.

v3.2.2

See the release notes here.

v3.2.1

See the release notes here.

v3.1.1

See the release notes here.

v3.0.4

See the release notes here.

v3.0.3

See the release notes here.

v3.0.2

See the release notes here.

v3.0.1

See the release notes here.

v3.0.0

See the release notes here.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/major-mstest-monorepo branch 4 times, most recently from 0188c93 to be32275 Compare December 26, 2024 21:16
@renovate renovate bot force-pushed the renovate/major-mstest-monorepo branch from be32275 to 2674c56 Compare December 26, 2024 21:17
@Turnerj Turnerj merged commit 43001f6 into main Dec 26, 2024
6 checks passed
@renovate renovate bot deleted the renovate/major-mstest-monorepo branch December 26, 2024 22:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant