Предполагая, что вы хотите, чтобы каждый раз появлялась другая случайная строка ...
describe('component', () => {
globals.Globalfunct = {
testfunc: jest.fn().mockReturnValue('foo'),
}
beforeEach(() => {
const randomStr = Math.random().toString(36).substring(7);
globals.Globalfunct.testfunc = jest.fn().mockReturnValue(randomStr);
});
it('is a test', () => {
})
it('is another test', () => {
// in here I want testfunc to return something else, how can I do this?
})
});
Объяснение
Когда у вас есть функция beforeEach
в шутке ( официальные документы ), он будет вызывать его перед каждым тестом.В приведенном выше коде он заменяет макетную функцию на другой экземпляр функции jest перед каждым тестом, давая вам новый, другой ответ на каждый тестовый пример.