内容简介:项目初始化地址拉取您可以选择为mock function提供一个名称,该名称将在测试错误输出中显示,而不是"jest.fn()"。如果您希望能够快速识别在测试输出中报告错误的mock function,请使用此选项。如下
项目初始化【这里使用之前的项目,节省时间】
项目初始化地址
https://github.com/durban89/webpack4-react16-reactrouter-demo.git tag:v_1.0.22
拉取
git clone https://github.com/durban89/webpack4-react16-reactrouter-demo.git cd webpack4-react16-reactrouter-demo git fetch origin git checkout v_1.0.22 npm install
Mock Names
您可以选择为mock function提供一个名称,该名称将在测试错误输出中显示,而不是"jest.fn()"。如果您希望能够快速识别在测试输出中报告错误的mock function,请使用此选项。如下
const myMockFunc = jest
.fn()
.mockReturnValue('default')
.mockImplementation(v => 42 + v)
.mockName('add42');
test('add 42', () => {
expect(myMockFunc(1)).toEqual(43);
});
Custom Matchers
最后,为了简化断言如何调用mock函数,Jest提供了一些自定义匹配器函数,如下
// mock function至少被调用一次 expect(mockFunc).toBeCalled(); // mock function至少在带有具体参数的情况下被调用一次 expect(mockFunc).toBeCalledWith(arg1, arg2); // mock function最后在带有具体参数的情况下被调用 expect(mockFunc).lastCalledWith(arg1, arg2); // 所有的调用和mock被作为snapshot写入到文件 expect(mockFunc).toMatchSnapshot();
这些匹配器实际上只是用于检查.mock属性的常见形式的糖。
可以自己手动完成此操作,如果想这更符合自己的口味或者需要做一些更具体的事情,比如如下这些
// mock function至少被调用一次
expect(mockFunc.mock.calls.length).toBeGreaterThan(0);
// mock function至少在带有具体参数的情况下被调用一次
expect(mockFunc.mock.calls).toContain([arg1, arg2]);
// mock function最后在带有具体参数的情况下被调用
expect(mockFunc.mock.calls[mockFunc.mock.calls.length - 1]).toEqual([
arg1,
arg2,
]);
// mock function被最后一次调用传入的第一个参数是`42`
expect(mockFunc.mock.calls[mockFunc.mock.calls.length - 1][0]).toBe(42);
// 一个snapshot将会检查mock在以同样的参数同样的次数被调用,它也将在名称上断言
expect(mockFunc.mock.calls).toEqual([[arg1, arg2]]);
expect(mockFunc.mock.getMockName()).toBe('a mock name');
如果想要一个完成的matchers,可以到官网点击 这里 去查看
项目实践地址
https://github.com/durban89/webpack4-react16-reactrouter-demo.git tag:v_1.0.23
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Vue 应用单元测试的策略与实践 02 - 单元测试基础
- Vue 应用单元测试的策略与实践 04 - Vuex 单元测试
- Vue 应用单元测试的策略与实践 03 - Vue 组件单元测试
- Angular单元测试系列-Component、Directive、Pipe 以及Service单元测试
- 单元测试,只是测试吗?
- 单元测试和集成测试业务
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
后谷歌时代:大数据的衰落及区块链经济的崛起
乔治·吉尔德 / 现代出版社 / 2018-9-5 / 68
以大数据和机器智能为基础的谷歌时代(信息互联网时代)是一个令人敬畏的时代。但它即将终结。 《后谷歌时代》一书的作者乔治•吉尔德是一位颇具远见卓识的智者。他在技术和文化领域具有无与伦比的视野和见地。他向读者描述了谷歌所面临信任与安全危机,并勇敢地预测了即将到来的后谷歌时代。 谷歌用其惊人的“搜索和排序”能力吸引了整个世界。功能强大的搜索引擎,看似免费小应用,诸如视频、地图、电子邮箱等,让......一起来看看 《后谷歌时代:大数据的衰落及区块链经济的崛起》 这本书的介绍吧!