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

Task: Split J2N.Tests.xUnit into separate projects per collection to improve performance #109

Open
NightOwl888 opened this issue Sep 16, 2024 · 0 comments
Labels
is:enhancement New feature or request pri:normal up for grabs This issue is open to be worked on by anyone
Milestone

Comments

@NightOwl888
Copy link
Owner

The testing performance can be improved greatly if we run them in parallel projects. However, we currently only have 2 projects:

  • J2N.Tests
  • J2N.Tests.xUnit

The first one is on NUnit and the second on XUnit. The NUnit tests and XUnit tests each have their own common items (test framework) that they inherit. Since J2N.Tests.xUnit has tens of thousands of tests and will grow over time, a better approach is to divide this library up so tests for each collection (or collection group) are in a separate project. We might need to group some collections in cases where they depend on each other or are closely related in functionality.

We will need to create a common library. Many of the classes in the J2N.Tests.xUnit are derived from Common.Tests.sln in the dotnet/runtime repository and those same files as well as the files in the Xunit folder (which were derived from https://github.com/dotnet/arcade) can go into a J2N.Common.Tests project. Basically, we will put all of the XUnit extensions as well as the abstract base classes into this project.

Each of the folders (such as Collections/Generic/Dictionary contains tests for a single collection and we want to move each of those into a separate project.

Ideally, we won't have Xunit in the project names, but we should put NUnit and Xunit folder below the tests folder, since they will have common dependencies.

@NightOwl888 NightOwl888 added is:enhancement New feature or request pri:normal up for grabs This issue is open to be worked on by anyone labels Sep 16, 2024
@NightOwl888 NightOwl888 added this to the Future milestone Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is:enhancement New feature or request pri:normal up for grabs This issue is open to be worked on by anyone
Projects
None yet
Development

No branches or pull requests

1 participant