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:
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.".
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:
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.".
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 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 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 ` 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 ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the ms-test-dependencies group with 2 updates: MSTest.TestAdapter and MSTest.TestFramework.
Updates
MSTest.TestAdapter
from 3.3.1 to 3.4.0Release notes
Sourced from MSTest.TestAdapter's releases.
... (truncated)
Changelog
Sourced from MSTest.TestAdapter's changelog.
... (truncated)
Commits
bafa77b
Use VSTest 17.10 (#2902)7fd9f76
Use latest version of TA and MSTest.Engine (#2885)019168f
Fix property name for enabling aspire in MSTest.Sdk (#2888)f77b630
MSTest.Sdk: do not use IsImplictlyDefined (#2880)a0515c5
Flow execution context across fixture methods when using timeout (#2843)4ca86ba
Fix MSTEST0014 FP with arrays (#2857)03eb3e8
Cleaning command line validations and adding unit tests (#2842) (#2847)5ee0a23
Revert code coverage to latest released (#2840)a69d29d
Bump infra and test third-parties versions (#2838)9413dc0
Update public API and analyzer releases (#2836)Updates
MSTest.TestFramework
from 3.3.1 to 3.4.0Release notes
Sourced from MSTest.TestFramework's releases.
... (truncated)
Changelog
Sourced from MSTest.TestFramework's changelog.
... (truncated)
Commits
bafa77b
Use VSTest 17.10 (#2902)7fd9f76
Use latest version of TA and MSTest.Engine (#2885)019168f
Fix property name for enabling aspire in MSTest.Sdk (#2888)f77b630
MSTest.Sdk: do not use IsImplictlyDefined (#2880)a0515c5
Flow execution context across fixture methods when using timeout (#2843)4ca86ba
Fix MSTEST0014 FP with arrays (#2857)03eb3e8
Cleaning command line validations and adding unit tests (#2842) (#2847)5ee0a23
Revert code coverage to latest released (#2840)a69d29d
Bump infra and test third-parties versions (#2838)9413dc0
Update public API and analyzer releases (#2836)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