Я хочу запустить какой-то код и выполнить его ПЕРЕД запуском всех тестов.
Моя jest.config.js
конфигурация:
// truncated...
setupFilesAfterEnv: [
"./jest.setup.ts"
]
jest.setup.ts
:
async function setUp() {
const first = new Promise((res, rej) => {
res('this called first');
})
const second = new Promise((res, rej) => {
res('this called second');
})
first.then((firstRes) => {
console.log(firstRes)
second.then(secondRes => console.log(secondRes))
})
}
beforeAll(done => {
setUp().then(done => console.log(done));
done();
})
Итак, я запустил тесты, и похоже, что они вызываются не по порядку:
PASS packages/dao/dao.service.spec.ts (5.532 s)
Dao Tests
✓ should be defined (2 ms)
✓ get should return null
console.log
Running pre-scripts for integration tests...
at Object.<anonymous> (jest.setup.ts:56:9)
console.log
this called first
at jest.setup.ts:86:13
console.log
undefined
at jest.setup.ts:91:32
console.log
this called second
at jest.setup.ts:87:38
Test Suites: 1 passed, 1 total
Tests: 2 passed, 2 total
Snapshots: 0 total
Time: 5.612 s, estimated 11 s
Ran all test suites.
Этот вывод выглядит так, будто сначала выполняются тесты, а затем jest.setup.ts
бег.