RFC: Allowed schema & fixture files be accessed from Kernel #242
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
v3.3
Request for comments
This change proposes one of possible ways of exposing schema & fixture files for consumption in our & third party packages, so they can be coupled with https://github.com/dmaicher/doctrine-test-bundle, and subsequently improve the performance of database-related tests.
This solution directly provides new methods to
IbexaTestKernel
. A different solution I've come up would be to provide schema & fixture registry as a test service.I have created a local test to change the performance impact on testing for a MySQL database (mind you, using a normal filesystem). The results are as follows:
without transaction bundle & database bootstraping
with transaction bundle & database bootstraping
(8 second execution)
Note that these include ~2-3 sec of container compilation & database setup, which means that each tests is reduced from ~300ms to a few ms in execution.
Samples bootstrapping (executed in context of ibexa migrations, used for result above)
Checklist:
$ composer fix-cs
).@ezsystems/engineering-team
).