One common scenario where we may need to mock a static function is when following the Factory Design Pattern to create a new object as follows: Copy export class PersonFactory { private static _instance: IPerson; static getInstance(name: string, age: number): IPerson { if (!PersonFactory._...
我们用jest.fn()创建它,然后用mockImplementation()指定它的实现。 jest.mock('./sound-player', () => {returnjest.fn().mockImplementation(() => { // Worksandlets youcheckforconstructorcallsreturn{ playSoundFile: () => {} }; }); }); 这将让我们使用SoundPlayer.mock.calls检查模拟类的使用...
expect(mock).toBeCalledWith(expect.any(Number)); }); expect.arrayContaining(array) 匹配一个接收到的数组,该数组包含预期数组中的所有元素。也就是说预期数组是接收数组的子集。因此它匹配一个接收到的数组,该数组包含不属于预期数组的元素。 你可以用它代替文字的值: toEqual或toBeCalledWith 1 2 3 4 ...
yarn add react-native-mock --dev 3. 初始化配置 做后需要配置enzyme的适配器,一个一般要根据react的版本配置,现在项目中用的是react@16,所以如下配置 importEnzymefrom'enzyme';importAdapterfrom'enzyme-adapter-react-16';import'react-native-mock/mock';Enzyme.configure({adapter:newAdapter()}); 还需要让...
·toBeInstanceOf(class): 判断是不是 class 的实例 ·resolves: 用来取出 promise 为 fulfilled 时包裹的值,支持链式调用 ·rejects: 用来取出 promise 为 rejected 时包裹的值,支持链式调用 ·toHaveBeenCalled(): 用来判断 mock function 是否被调用过 ...
Jest的基础: 包括基础API,异步测试,Mock技巧,快照功能,定时器,延时器,Dom节点测试。 React项目的测试: Enzyme工具的讲解,TDD单元测试,BDD集成测试的知识和操作 优点: 速度快:智能缓存只重测试修改的文件 API简单:数量少 隔离性好:避免2个jest文件互相影响 ...
toBeInstanceOf(class):判断是不是class的实例 anything(value):匹配除了null和undefined以外的所有值 resolves:用来取出promise为fulfilled时包裹的值,支持链式调用 rejects:用来取出promise为rejected时包裹的值,支持链式调用 toHaveBeenCalled():用来判断mock function是否被调用过 ...
Error: Argument of type 'typeof PermissionGuard' is not assignable to parameter of type 'PartialFuncReturn<{ prototype: { readonly reflector: ...; readonly rolePermissionService: ...; canActivate: ...; }; }>'. Types of property 'prototyp...
...,递归对比对象字段 .toBeInstanceOf(Class) 检查是否属于某一个 Class 的 instance .toHaveProperty(keyPath, value) 检查断言中的对象是否包含...keyPath 字段,或可以检查该对象的值是否等于 value .toBeGreaterThan(number) 大于 number .toBeGreaterThanOrEqual(number) 大于等于...事件 options 描述...
// users.jsimportaxiosfrom'axios';classUsers{staticall(){returnaxios.get('/users.json').then(resp=>resp.data);}}exportdefaultUsers; 现在,为了在不实际碰到API的情况下测试这个方法(从而创建慢而脆弱的测试),我们可以使用jest.mock(…)函数来自动模拟axios模块。