Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 104 additions & 19 deletions .openpublishing.redirection.core.json
Original file line number Diff line number Diff line change
Expand Up @@ -1651,13 +1651,13 @@
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-mstest-runner-exit-codes.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-exit-codes",
"redirect_document_id": true
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-troubleshooting#exit-codes",
"redirect_document_id": false
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-mstest-runner-extensions.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-extensions",
"redirect_document_id": true
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-features",
"redirect_document_id": false
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-mstest-runner-integrations.md",
Expand All @@ -1671,12 +1671,12 @@
{
"source_path_from_root": "/docs/core/testing/unit-testing-mstest-runner-telemetry.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-telemetry",
"redirect_document_id": true
"redirect_document_id": false
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-mstest-runner-vs-vstest.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-vs-vstest",
"redirect_document_id": true
"redirect_url": "/dotnet/core/testing/test-platforms-overview",
"redirect_document_id": false
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-runsettings.md",
Expand Down Expand Up @@ -1915,51 +1915,86 @@
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-diagnostics.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-diagnostics"
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-crash-hang-dumps"
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-diagnostics.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-crash-hang-dumps",
"redirect_document_id": false
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-exit-codes.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-exit-codes"
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-troubleshooting#exit-codes"
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-exit-codes.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-troubleshooting#exit-codes",
"redirect_document_id": false
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-extensions-code-coverage.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-extensions-code-coverage"
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-code-coverage"
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-extensions-diagnostics.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-extensions-diagnostics"
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-crash-hang-dumps"
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-extensions-fakes.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-extensions-fakes"
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-fakes"
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-faq.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-faq"
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-troubleshooting"
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-faq.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-troubleshooting",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-extensions-hosting.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-extensions-hosting"
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-hot-reload"
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-hosting.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-hot-reload",
"redirect_document_id": false
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-extensions-output.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-extensions-output"
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-terminal-output"
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-extensions-policy.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-extensions-policy"
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-retry"
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-policy.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-retry",
"redirect_document_id": false
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-extensions-test-reports.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-extensions-test-reports"
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-test-reports"
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-test-reports.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-test-reports",
"redirect_document_id": false
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-output.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-terminal-output",
"redirect_document_id": false
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-extensions-vstest-bridge.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-extensions-vstest-bridge"
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-extensions.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-extensions"
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-features"
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-extensions-faq.md",
Expand All @@ -1977,9 +2012,59 @@
"source_path_from_root": "/docs/core/testing/unit-testing-platform-telemetry.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-telemetry"
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-features",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-reporting.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-test-reports",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-diagnostics.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-crash-hang-dumps",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-code-coverage.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-code-coverage",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-open-telemetry.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-open-telemetry",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-retry.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-retry",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-hot-reload.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-hot-reload",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-fakes.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-fakes",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-extensions-telemetry.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-telemetry",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-platform-vs-vstest.md",
"redirect_url": "/dotnet/core/testing/microsoft-testing-platform-vs-vstest"
"redirect_url": "/dotnet/core/testing/test-platforms-overview"
},
{
"source_path_from_root": "/docs/core/testing/microsoft-testing-platform-vs-vstest.md",
"redirect_url": "/dotnet/core/testing/test-platforms-overview",
"redirect_document_id": true
},
{
"source_path_from_root": "/docs/core/testing/unit-testing-published-output.md",
Expand Down
4 changes: 2 additions & 2 deletions docs/core/project-sdk/msbuild-props.md
Original file line number Diff line number Diff line change
Expand Up @@ -1496,7 +1496,7 @@ When your project references the [Microsoft.Testing.Platform.MSBuild](https://ww
- Generates the configuration file.
- Detects the extensions.

Setting the property to `false` disables the transitive dependency to the package. A *transitive dependency* is when a project that references another project that references a given package behaves as if *it* references the package. You'd typically set this property to `false` in a non-test project that references a test project. For more information, see [error CS8892](../testing/microsoft-testing-platform-faq.md#error-cs8892-method-testingplatformentrypointmainstring-will-not-be-used-as-an-entry-point-because-a-synchronous-entry-point-programmainstring-was-found).
Setting the property to `false` disables the transitive dependency to the package. A *transitive dependency* is when a project that references another project that references a given package behaves as if *it* references the package. You'd typically set this property to `false` in a non-test project that references a test project. For more information, see [error CS8892](../testing/microsoft-testing-platform-troubleshooting.md#error-cs8892-method-testingplatformentrypointmainstring-will-not-be-used-as-an-entry-point-because-a-synchronous-entry-point-programmainstring-was-found).

If your test project references MSTest, NUnit, or xUnit, this property is set to the same value as [EnableMSTestRunner](#enablemstestrunner), [EnableNUnitRunner](#enablenunitrunner), or `UseMicrosoftTestingPlatformRunner` (for xUnit).

Expand Down Expand Up @@ -1539,7 +1539,7 @@ The `UseMicrosoftTestingPlatformRunner` property enables or disables the use of

Setting the `GenerateTestingPlatformEntryPoint` property to `false` disables the automatic generation of the program entry point in test projects that use [Microsoft.Testing.Platform](../testing/microsoft-testing-platform-intro.md). You might want to set this property to `false` when you manually define an entry point, or when you reference a test project from an executable that also has an entry point.

For more information, see [error CS8892](../testing/microsoft-testing-platform-faq.md#error-cs8892-method-testingplatformentrypointmainstring-will-not-be-used-as-an-entry-point-because-a-synchronous-entry-point-programmainstring-was-found).
For more information, see [error CS8892](../testing/microsoft-testing-platform-troubleshooting.md#error-cs8892-method-testingplatformentrypointmainstring-will-not-be-used-as-an-entry-point-because-a-synchronous-entry-point-programmainstring-was-found).

To control the generation of the entry point in a VSTest project, use the `GenerateProgramFile` property.

Expand Down
6 changes: 3 additions & 3 deletions docs/core/testing/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ When running tests in .NET, there are two components involved: the test platform

### Test platforms

The test platform is the engine that runs the tests and acts as a communication channel with IDEs and CLI. For example, Visual Studio can send a discovery request to the test platform so that it can display the available tests in Test Explorer. The test platform responds back to the IDE with the tests it found. Similar communication happens for test execution.
The test platform is the engine that runs tests and communicates with tools such as IDEs and CLI.

VSTest has been used for many years in .NET and was the only test platform in the ecosystem. Early in 2024, the first stable version of a new test platform, called [Microsoft.Testing.Platform (MTP)](./microsoft-testing-platform-intro.md), was released. For more information about migrating from VSTest to Microsoft.Testing.Platform, see [Migration guide from VSTest to Microsoft.Testing.Platform](./migrating-vstest-microsoft-testing-platform.md).
Use [Test platforms overview](./test-platforms-overview.md) to understand the differences between VSTest and Microsoft.Testing.Platform, and choose the best platform for your scenario.

The test platform also provides extensibility APIs so that additional features can be implemented and made available for all test frameworks. There are usually built-in features built on top of the extensibility APIs, such as TRX reporting and hang and crash dumps. The community can also build custom extensions that work for all test frameworks.
For migration guidance, see [Migrate from VSTest to Microsoft.Testing.Platform](./migrating-vstest-microsoft-testing-platform.md).

### Test frameworks

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public interface ITestFrameworkCapability : ICapability
}
```

As you can see, the `ICapability` interface is a *marker* interface because it can represent *any capability*, and the actual implementation will be context dependent. You'll also observe the `ITestFrameworkCapability`, which inherits from `ICapability` to classify the capability. The capability system's generic nature allows for convenient grouping by context. The `ITestFrameworkCapability` groups all the capabilities implemented by the [testing framework](./microsoft-testing-platform-architecture-extensions.md#create-a-testing-framework). The `ICapabilities<TCapability>` interface reveals the *set* of all capabilities implemented by an extension. Similarly, for the base one, there's a context-specific testing framework called `ITestFrameworkCapabilities`. The `ITestFrameworkCapabilities` is provided to the platform during the [testing framework registration](./microsoft-testing-platform-architecture-extensions.md#register-a-testing-framework) process.
As you can see, the `ICapability` interface is a *marker* interface because it can represent *any capability*, and the actual implementation will be context dependent. You'll also observe the `ITestFrameworkCapability`, which inherits from `ICapability` to classify the capability. The capability system's generic nature allows for convenient grouping by context. The `ITestFrameworkCapability` groups all the capabilities implemented by the [testing framework](./microsoft-testing-platform-architecture-test-framework.md#create-a-testing-framework). The `ICapabilities<TCapability>` interface reveals the *set* of all capabilities implemented by an extension. Similarly, for the base one, there's a context-specific testing framework called `ITestFrameworkCapabilities`. The `ITestFrameworkCapabilities` is provided to the platform during the [testing framework registration](./microsoft-testing-platform-architecture-test-framework.md#register-a-testing-framework) process.

To create a capability that addresses the aforementioned scenario, you define it as follows:

Expand Down Expand Up @@ -115,7 +115,7 @@ In conclusion, let's summarize the primary aspects of the capability system:

## Framework capabilities

The platform exposes a specialized interface named `ITestFrameworkCapability` that is the base of all capabilities exposed for test frameworks. These capabilities are provided when [registering the test framework to the platform](./microsoft-testing-platform-architecture-extensions.md#register-a-testing-framework).
The platform exposes a specialized interface named `ITestFrameworkCapability` that is the base of all capabilities exposed for test frameworks. These capabilities are provided when [registering the test framework to the platform](./microsoft-testing-platform-architecture-test-framework.md#register-a-testing-framework).

### `IBannerMessageOwnerCapability`

Expand Down
Loading