-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Microsoft.Testing.Platform
for xunit v2
#416
Comments
If this can be done without breaking xUnit.net v3 Edit: The |
I would also be interested to know what the adoption blockers are for users who cannot use v3. |
Do you have documentation on the breaking changes? |
Most of the breaking changes should be here: https://xunit.net/docs/getting-started/v3/migration And there's also a What's New page that can be helpful for people moving: https://xunit.net/docs/getting-started/v3/whats-new |
There is some extensive usage of extensibility APIs in some repos. I experimented with migrating vs-extension-testing (see microsoft/vs-extension-testing#179). As you see, the PR is MASSIVE, and isn't yet even near to completion (Am I'm missing something obvious for the changes I'm making?). Back on topic though, are you generally okay with adding MTP support for xunit v2? |
Obviously it's up to you to decide how to achieve your technical goals, but trying to mix v2 and v3 support into a single library is probably the wrong strategy. A quick glance through the PR shows a ton of conditional code. I don't know anything about this library or how it's used, so I may be speaking from ignorance here, but going down this path is likely a significant source of your pain. 🤷♂
I remain skeptical that modifying |
For now, I was keeping the old packages to support v2, and introducing a new package to support v3. Yes conditional code is kinda annoying, but still the number of needed changes is huge.
Can I have better understanding of the concerns? Assuming I managed to get it working, so it was "technically possible", are there other concerns that could prevent you from merging and shipping that work for v2? Is there another approach you prefer? (e.g, introducing a completely new package xunit.v2.mtp?, or plugging the support via another existing package?) I haven't really looked yet into how xunit is structured, but from a high-level point of view, the xunit.runner.visualstudio seems a good candidate as it can leverage the support for VSTestBridge, which will make the work significantly easier. |
If you're planning to use the VSTest adapter, then it will insist on making changes that are not compatible to v3, and
I would be very happy to look at a PR that makes it work, and if it's something I'm comfortable supporting, then also ship it.
I'm not interested in sweeping changes to v2, as I have no plans for any further support of v2. I suspect your suggestion of |
To make sure I'm following, are you referring to runsettings and VSTest filter? |
No, we support those today. Last I looked, the VSTest => MTP adapter required injection of the MTP entry point and conversion to an executable. v3 projects already natively support MTP (without needing |
Hi @bradwilson,
we could have some team that are interested to onboard the new testing platform but they're stuck at the moment with xunit v2.
We did integration with v3 already, I wonder if it could be fine to you if we take the integration of the v2 using the bridge(that won't add more dependencies than what you saw in v2) to have same/similar experience also for users that cannot at the moment move to v3. Let's say have v2 onboarded like MSTest and nUnit and v3 that's anyway a breaking change with the new experience.
The idea is to do something like #403 under your "supervision", we create the PRs and you do the review, so you don't have to spend coding time on it.
cc: @pavelhorak
The text was updated successfully, but these errors were encountered: