TestFactory.cs: Implements an IAsyncLifetime which my test test classes inherit from, e.x. public class GuildSettingsRepositoryTests(TestFactory factory) : IClassFixture<TestFactory>. It contains the PostgreSqlContainer, an IHost, and offers a CreateTransactionalScopeAsync method my testcases call.TransactionalTestScope.cs: Implements an IAsyncLifetime which rolls back transactions at the end of the scope. Exposes GetRequiredService<T> which testcases call to retreive the testable service.GuildSettingsRepositoryTests.cs: Test class with the previously mentioned definition. Here is a sample of a testcase implementation:CreateTransactionalScopeAsync and GetRequiredService each testcase seems redundant and, frankly, incorrect. How can I simplify my testcase boilerplate code or prevent my testcase context updates from persisting between tests?