Я пытаюсь смоделировать функцию генерации идентификатора. Содержимое моего generateIdsSet.js
файла:
import nanoid from 'nanoid/generate'
const generateId = (): string => {
return nanoid('1234567890abcdefghijklmnopqrstuvwxyz', 5)
}
export const generateIdsSet = (setLength) => {
const setIds = []
for (let i = 0; i < setLength; i++) {
setIds.push(generateId())
}
return setIds
}
В файле макета generateIdsSet.spec.js
для generateIdsSet
мне нужно создать массив предсказуемых идентификаторов. Я придумал эту реализацию:
import { generateIdsSet } from './generateIdsSet.js'
jest.mock('nanoid/generate', () => {
let value = 0
return () => String(++value)
})
describe('generateIdsSet', () => {
it('One element', () => {
expect(generateIdsSet(1)).toEqual(['1'])
})
it('Four elements', () => {
expect(generateIdsSet(4)).toEqual(['1', '2', '3', '4'])
})
....
})
Все в порядке, за исключением того, что на каждом тестовом счетчике не сбрасывается в 1 и продолжает увеличиваться для каждого вызова.
Может быть, это что-то очевидное, я 'Я отсутствует, но я не могу понять это. Буду благодарен за помощь.