Improve integration tests performance
Currently, each test file (or group of tests) uses beforeAll and afterAll hooks to create and delete a project, respectively. This approach is redundant and negatively impacts test performance.
The objective is to refactor the test setup so that the project is created only once at the beginning of the tests and deleted after all tests finish (regardless of success or failure).
Checklist:
-
Remove
tests.setupFiles- Open the
vitest.config.mtsfile. - Remove the
tests.setupFilesproperty.
- Open the
-
Add
tests.globalSetup- In
vitest.config.mts, add atests.globalSetupproperty pointing to a configuration file. - Ensure the file runs only for integration tests by checking
process.env.TEST_ENV === 'integration'. - Update
package.json -> scripts -> test:integrationto set this flag.
- In
-
Create a Global Setup File
-
Use the following template for the configuration file:
export async function setup() { // TODO: Implement project creation } export async function teardown() { // TODO: Implement project deletion }
-
-
Clean Up Test Files
- Remove
beforeAllandafterAllhooks from test files where they are no longer needed.
- Remove
Notes:
Submit a pull request to the release/v5.0.0 branch.
/attempt Interesting.
Hi @MrRefactoring , I'm facing couple of blockers, is there any Slack/Discord for me to get some help?
Hi @tamirazrab! You can message me on Telegram or email me
Hi @tamirazrab! You can message me on Telegram or email me
Hi, Telegram doesn't work in my country and email won't be good for back and forth communication.
But Slack and Discord doesn't work in my country :D