-
Notifications
You must be signed in to change notification settings - Fork 259
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
Extensible Filters + AggregateFilter #4200
base: main
Are you sure you want to change the base?
Conversation
@Evangelink Hope you don't mind me having a go at tackling a couple of issues that have been sitting around for months?
|
… feature/extensible-filters
Same happening with integration tests
Why does it reference packages instead of the local project's code? |
@Evangelink @nohwnd @MarcoRossignoli Providing you were okay with implementing this, how would I go about being unblocked due to private/internal code that I can't edit? |
@thomhurst I wasn't able to play a little with the PR but although I like the concept of the aggregate filter, I don't think that the extensibility as you are doing it is the right way forward as it would allow users to register any kind of filter including filters that are not handled by the framework. As of now, the filters have to be specifically supported by the platform or the framework. |
Hmm that's a good point. The registration code is going to have to be surfaced publicly though in order for frameworks to register it. Might be that filters work in conjunction with capabilities? So filters are only considered active/available if the framework has a capability for it? Kinda like the trx extension. That way we know a framework can handle that filter. |
WIP.
Fixes #3530
Fixes #3590
Changes:
IsAvailable
property (I dunno what to name this? IsAvailable? IsActive?) to tell the framework whether it has been requested as a filter for this test runITestExecutionFilter[]
array insideAggregateFilter
Framework authors can now also create their own filters and register them.
ITestExecutionFilter
.TestApplicationBuilder.TestHost.RegisterTestExecutionFilter(...)