Mock functions
Rstest 提供了一些工具方法帮助你进行函数的模拟(mock)。
rstest.fn
创建一个 mock 函数。
const sayHi = rstest.fn((name: string) => `hi ${name}`);
const res = sayHi('bob');
expect(res).toBe('hi bob');
rstest.spyOn
对一个对象的方法进行 mock。
const sayHi = () => 'hi';
const hi = {
sayHi,
};
const spy = rstest.spyOn(hi, 'sayHi');
expect(hi.sayHi()).toBe('hi');
expect(spy).toHaveBeenCalled();
rstest.isMockFunction
判断给定的函数是否为 mock 函数。
rstest.clearAllMocks
清除所有 mock 的 mock.calls
、mock.instances
、mock.contexts
和 mock.results
属性。
rstest.resetAllMocks
清除所有 mock 属性,并将每个 mock 的实现重置为其原始实现。
rstest.restoreAllMocks
重置所有 mock,并恢复被 mock 的对象的原始描述符。