В конечном счете, функция, которую я хочу протестировать, имеет те же функции, когда используется в узле или в сети. Однако внутренне функция написана по-разному для узла и сети, поэтому мне нужно проверить оба из них. Поскольку функциональность идентична, я не хочу писать одни и те же тесты дважды. Учтите это (допустим, что внутренности функции разные):
// mylib/node/index.ts
export function add(a: number, b: number) {
return a+b
}
// mylib/web/index.ts
export function add(a: number, b: number) {
return a+b
}
Чтобы проверить это, я делаю:
// nodeAdd.test.ts
/**
* @jest-environment node
*/
import { add } from './mylib/node'
test('addition', () => {
expect(add(1, 2)).toEqual(3)
})
// webAdd.test.ts
/**
* @jest-environment jsdom
*/
import { add } from './mylib/web'
test('addition', () => {
expect(add(1, 2)).toEqual(3)
})
Таким образом, тесты идентичны, однако они проводятся в другой среде и импортируются из другого места. Можно ли написать тест один раз и проверить оба envs?