Skip to content
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

Combine Configuration, Services and AssertionOptions #2291

Open
dennisdoomen opened this issue Sep 3, 2023 · 4 comments
Open

Combine Configuration, Services and AssertionOptions #2291

dennisdoomen opened this issue Sep 3, 2023 · 4 comments
Milestone

Comments

@dennisdoomen
Copy link
Member

dennisdoomen commented Sep 3, 2023

We currently have two different entry points for configuration. One, the Services.Configuration, is used for specifying where to find custom value formatters and which test framework to use, and can be configured through app.config (provided the .NET platform supports that). The other, AssertionOptions, is used to change formatting settings and alter the equivalency plan.

We need one class for this that combines all of these settings, and that all support using the configuration system of .NET. This supports setting them through .ini files, .json files and environment variables.

The proposal is to name this class AssertionEngine, with properties like Runtime to contain run-time settings for the engine and Options for the settings that can be changed by tests.

Relates to #2290

@dennisdoomen dennisdoomen added this to the 7.0 milestone Sep 3, 2023
@lg2de
Copy link
Contributor

lg2de commented Sep 3, 2023

It would be great if these settings are not static.
When executing tests in parallel they must not influence each other.

@dennisdoomen
Copy link
Member Author

I can't think of a way to make that possible. You?

@jnyrup
Copy link
Member

jnyrup commented Sep 3, 2023

It would be great if these settings are not static.

When executing tests in parallel they must not influence each other.

I'm not sure what you're asking for?
Currently they are static exactly to be shared and used among tests (running in parallel), but must be configured from a thread-safe point, e.g. module initializer or in a test framework dedicated way.

@lg2de
Copy link
Contributor

lg2de commented Sep 4, 2023

I can't think of a way to make that possible. You?

Not yet in detail. I need to investigate.

I'm not sure what you're asking for?

I remember that I faced issues, at least with the tests in FA itself: Running tests with different configuration may conflict.

This may happen in end-user's tests too. This depends on the kind of option. I do not have an overview at the moment.

What are you assumptions for test configuration in different test assemblies?

@dennisdoomen dennisdoomen changed the title Combine Configuration and AssertionOptions Combine Configuration, Services and AssertionOptions Sep 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🔍 Under Investigation
Development

No branches or pull requests

3 participants