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:
The other analyzers added in this release:
MSTEST0017: Assertion arguments should be passed in the correct order by @Evangelink in #2256
MSTEST0019: Prefer TestInitialize over ctor by @Evangelink in #2580
MSTEST0020: Prefer ctors over TestInitialize methods by @Evangelink in #2582
MSTEST0021: Prefer Dispose over TestCleanup methods by @Evangelink in #2585
MSTEST0022: Prefer 'TestCleanup' methods over Dispose by @Evangelink in #2586
MSTEST0023: Do not negate boolean assertions by @Evangelink in #2594
MSTEST0024: Do not store TestContext in static members by @Evangelink in #2597
Add PreferAssertFailOverAlwaysFalseConditionsAnalyzer by @Youssef1313 in #2799
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:
Alternatively timeouts can be specified through runsettings. For example like this:
Analyzer: Ensure to use Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute and not System.ComponentModel.DescriptionAttribute by @engyebrahim in #3202
MSTEST0030: Type containing [TestMethod] must be a [TestClass] by @engyebrahim in #3199
leverage DoesNotReturnIfAttribute for better assertion by @SimonCropp in #3168
Assertions: add support for [StringSyntax(CompositeFormat)] by @Evangelink in #3185
Display fixture (Assembly/Class Initialize/Cleanup) methods as "test" entries by @fhnaseer in #2904
Improve display name for string and char by @MichelZ in #3082
Improve display name when DataRow contains arrays by @MichelZ in #3053
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 commands and options
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 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 for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps MSTest.TestAdapter from 3.3.1 to 3.5.1.
Release notes
Sourced from MSTest.TestAdapter's releases.
... (truncated)
Changelog
Sourced from MSTest.TestAdapter's changelog.
... (truncated)
Commits
5b38a2c
Bump aspire to 8.0.20265f00
Use internal extensions 1.3.24901764
Revert changes to playgroundb9b020b
Fix playground982b20d
Fix shutdown order for server mode (#3306)b095754
Fix TestInitialize and TestCleanup analyzers to allow generic class (#3280)71a7f31
Fix timeout message to reflect that 0 is not allowed (#3279)c683317
Fix MessageBusProxy.InitAsync to be proxying _messageBus.InitAsync (#3300)76c9e7d
Fix possible deadlock inside MSBuild task (#3307)c68d90f
Fix XmlDataConnection (#3346)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 commands and options
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