···186186const { cloneDeep } = await vi.importActual('lodash/cloneDeep') // [!code ++]
187187```
188188189189+### Accessing the Return Values of a Mocked Promise
190190+191191+Both Jest and Vitest store the results of all mock calls in the [`mock.results`](/api/mock.html#mock-results) array, where the return values of each call are stored in the `value` property.
192192+However, when mocking or spying on a promise (e.g. using `mockResolvedValue`), in Jest the `value` property will be a promise, while in Vitest, it will become a resolved value when a promise is resolved.
193193+194194+```ts
195195+await expect(spy.mock.results[0].value).resolves.toBe(123) // [!code --]
196196+expect(spy.mock.results[0].value).toBe(123) // [!code ++]
197197+```
198198+189199### Envs
190200191201Just like Jest, Vitest sets `NODE_ENV` to `test`, if it wasn't set before. Vitest also has a counterpart for `JEST_WORKER_ID` called `VITEST_POOL_ID` (always less than or equal to `maxThreads`), so if you rely on it, don't forget to rename it. Vitest also exposes `VITEST_WORKER_ID` which is a unique ID of a running worker - this number is not affected by `maxThreads`, and will increase with each created worker.