-
Notifications
You must be signed in to change notification settings - Fork 417
Memo: End to end coreclr xunit run and debug scenario
Troy Dai edited this page Apr 29, 2016
·
8 revisions
- User open a solution contains netcoreapp xunit project. Here's an Example.
- Set a break point in one test method.
- Right click the mouse on the test method (on signature or in the method body)
- Choose the "run and debug" option in the context menu.
- Editor start build and run the chosen test method.
- Debugger break at the break point previously set.
- When user right click on a method, editor send request to OmniSharp for test service information.
- The test service information (TSI) endpoint (new) in OmniSharp query the roslyn workspace base on the given cursor location to determine if the position can locate a test.
- The test method is found. Then the TSI respond the editor with information of this test method.
- When user pick the "run and debug" option in the context menu, editor sends request to OmniSharp's test service execution (TSE) endpoint.
- The TSE starts a
dotnet test
in design time mode. (Full dotnet test spec) - The
dotnet test
command build test project and returns process start information fortest runner
to OmniSharp. - The OmniSharp call debugger API to start the test runner with the process start information. (External dependency: https://github.com/Microsoft/vscode/issues/5925.)
- The debugger starts the test and stop at the break point.