如何通过玩笑测试来测试 Cookies.get
我有 util.js 文件夹,我在其中调用函数
const fullObjectStr = Cookies.get(cookieName);
所以,我想用玩笑来测试它。我怎样才能做到这一点?
我已经从这个问题中尝试了一些事情:How to mock Cookie.get('language') in JEST但它不起作用。
如何通过玩笑测试来测试 Cookies.get
我有 util.js 文件夹,我在其中调用函数
const fullObjectStr = Cookies.get(cookieName);
所以,我想用玩笑来测试它。我怎样才能做到这一点?
我已经从这个问题中尝试了一些事情:How to mock Cookie.get('language') in JEST但它不起作用。
您可以使用jest.spyOn(object, methodName)来模拟Cookies.get
方法。
例如
main.js
:
import Cookies from 'js-cookie';
export function main(cookieName) {
const fullObjectStr = Cookies.get(cookieName);
console.log(fullObjectStr);
}
main.test.js
:
import { main } from './main';
import Cookies from 'js-cookie';
describe('61364508', () => {
it('should pass', () => {
const getSpy = jest.spyOn(Cookies, 'get').mockReturnValueOnce('123');
const cookieName = 'sid';
main(cookieName);
expect(getSpy).toBeCalledWith(cookieName);
getSpy.mockRestore();
});
});
单元测试结果:
PASS stackoverflow/61364508/main.test.js (14.388s)
61364508
✓ should pass (43ms)
console.log stackoverflow/61364508/main.js:5
123
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 16.256s
源代码:https ://github.com/mrdulin/react-apollo-graphql-starter-kit/tree/master/stackoverflow/61364508