Skip to content

Breaking Changes

CharliePoole edited this page Feb 27, 2022 · 3 revisions

This page lists the major breaking changes for the 4.0 release. Those marked DONE are already incorporated in the 4.0 code.

Remove RecentFilesService - DONE

This is not used by the runner and is outside the scope of what a test runner needs to do. See issue 874.

Remove UserSettings Service - DONE

No longer used by the runner and also out of scope. See issue 873.

Eliminate DomainUsage Setting - DONE

This includes the command-line options and package settings. The user will no longer directly control how the runner makes use of AppDomains internally. See issue 860.

Eliminate TestPackage String Constructor - DONE

The existence of two constructors with different semantics has been a long-time problem. This will eliminate it. Users should only create top-level anonymous TestPackages, representing the commandline. Nested constructors for individual files will be created internally where needed. This is a change to the engine API. See issue 889.

Eliminate In-Process Execution - DONE

This includes the command-line options and package settings. Each test assembly will run in a separate process until we create an in-process agent as we plan to do at a later stage of development. See issue 861.

Stop Bundling Certain Extensions - DONE

We currently bundle five extensions with our msi and zip packages:

  • NUnit Project Loader
  • VS Project Loader
  • V2 Framework Driver
  • V2 Result Writer
  • TeamCity Extension

We will continue to bundle only the two project loaders and will drop the other three. See issues 880, 879 and 878.

Remove Deprecated --labels Options - DONE

See issue 891.

Remove Deprecated --params Option

Waiting for review. See issue 888.

Rename --timeout Option - DONE

Changed to --testCaseTimeout. See issue 890.

Change Behavior of SkipNonTestAssemblies Setting

Exactly how this will be changed requires some investigation. See issue 827.

TestFilterBuilder Builds Invalid XML

Requires investigation. See issue 491.

New API

The API will be entirely new. Individual changes will probably be incremental over the course of 4.0 development. For now, see issues 885, 886, 887 and 919.

One outcome of the API change is that existing Extensions will no longer work. Any engine extension that wants to support the 4.0 engine will need to be updated to use the new API.

Platform Support

This needs further definition. See Issue 770.

Clone this wiki locally