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

AcceptanceTest Sources that contain relevant tests for persistences #6206

Open
danielmarbach opened this issue Dec 2, 2021 · 0 comments
Open

Comments

@danielmarbach
Copy link
Contributor

Most persistences run in addition to the persistence tests the acceptance tests too. Yet many of the acceptance tests are not really relevant for the persistence and have a big impact on the test execution time which greatly hinders the productivity due to the long test feedback cycles. To address that, persistences then start removing certain groups of acceptance tests like the following

  <ItemGroup>
    <Compile Remove="\**\ConfigureEndpointInMemoryPersistence.cs" />
    <Compile Remove="\**\ConfigureEndpointLearningPersistence.cs" />
    <Compile Remove="\**\ConventionEnforcementTests.cs" />
    <Compile Remove="\**\DeterministicGuid.cs" />
    <Compile Remove="\**\Audit\*.*" />
    <Compile Remove="\**\Correlation\*.*" />
    <Compile Remove="\**\DataBus\*.*" />
    <Compile Remove="\**\DelayedDelivery\*.*" />
    <Compile Remove="\**\Forwarding\*.*" />
    <Compile Remove="\**\MessageId\*.*" />
    <Compile Remove="\**\Pipeline\*.*" />
    <Compile Remove="\**\Recoverability\*.*" />
    <Compile Remove="\**\Routing\**\*.*" />
    <Compile Remove="\**\Satellites\*.*" />
    <Compile Remove="\**\Scheduling\*.*" />
    <Compile Remove="\**\SelfVerification\*.*" />
    <Compile Remove="\**\Serialization\*.*" />
    <Compile Remove="\**\Timeout\*.*" />
    <Compile Remove="\**\TimeToBeReceived\*.*" />
    <Compile Remove="\**\Tx\**\*.*" />
    <Compile Remove="\**\Versioning\*.*" />
  </ItemGroup>

This is not ideal because the exclusions are managed by the downstream and not by core itself. It would be better if core had a dedicated acceptance test source package that contains relevant tests for the persistence and the storages that need to be supported from the core perspective. For example, the source package could contain the following ATTs

  • Outbox
  • Sagas
  • Timeouts (when timeout storage needs to be supported)
  • Routing (containing the tests that require subscription storage)

Examples of exclusions

https://github.com/search?q=org%3AParticular+%22%3CCompile+Remove%3D%22%5C%2A%2A%5CAudit%5C%2A.%2A%22+%2F%3E%22&type=code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant