开玩笑-一个功能模拟文件用于多个测试文件

Stackuba

我想要这样的东西:

mockFunctions.ts

jest.mock('../utils', () => {
  return {
     getNumbers: () => [1,2,3]
  }
})

__tests__/test1.ts

---import from mockFunctions---
...
it('After adding another number array has more elements', () => {
   const numbers = <get these numbers using mock function>
   expect([...numbers, 11]).toHaveLength(4);
})

__tests__/test2.ts

---import from mockFunctions---
...
it('After removing a number, array has less elements', () => {
   const numbers = <get these numbers using mock function>
   expect(numbers.filter(x => x>1)).toHaveLength(2);
})

是否可以有一个文件实现了模拟功能,然后将它们导入多个测试文件中?

礼节

有一些替代方法可以实现此目的:

  1. __mocks__在utils文件夹中添加目录。参见https://jestjs.io/docs/en/manual-mocks

utils / index.js

export const  getNumbers= () => [1, 2, 3, 4, 5];

->实用程序/ __mocks__/index.js

export const  getNumbers= () => [3, 4];

is.config.js

{ 
   "setupFilesAfterEnv": [
      "<rootDir>/jestSetup.js"
    ]
}

jestSetup.js

jest.mock("../utils"); // will apply to all tests
  1. 直接在jestSetup.js中添加模拟定义

is.config.js

{ 
   "setupFilesAfterEnv": [
      "<rootDir>/jestSetup.js"
    ]
}

jestSetup.js

  jest.mock("../utils", () => ({
     getNumbers: () => [3, 4]
  }));

或使用模拟文件创建文件

模拟

  jest.mock("../utils", () => ({
     getNumbers: () => [3, 4]
  }));

jestSetup.js

  import './mocks.js'

如果您不想在特定测试中使用模拟,则可以调用:

jest.unmock('../utils')

参见:https : //jestjs.io/docs/en/jest-object#jestunmockmodulename

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

开玩笑-模拟update()函数

来自分类Dev

开玩笑:模拟构造函数

来自分类Dev

开玩笑嘲笑特定功能

来自分类Dev

开玩笑,jQuery和获取测试文件

来自分类Dev

开玩笑地测试模块功能

来自分类Dev

反应开玩笑的酶功能称为测试

来自分类Dev

开玩笑js在一个文件中进行多个测试

来自分类Dev

如何模拟axios API调用?开玩笑

来自分类Dev

状态未设置开玩笑模拟

来自分类Dev

从Promise开玩笑的模拟回调函数

来自分类Dev

如何开玩笑模拟/间谍类的属性

来自分类Dev

Redux-actions开玩笑测试

来自分类Dev

反应-开玩笑-测试preventDefault操作

来自分类Dev

开玩笑地测试discord bot命令

来自分类Dev

开玩笑/酶测试表格组件

来自分类Dev

开玩笑如何测试调用函数的行?

来自分类Dev

开玩笑:测试数组的随机位置

来自分类Dev

开玩笑测试解决拒绝回调

来自分类Dev

用 Typescript 开玩笑地模拟一个库

来自分类Dev

爸爸开玩笑程序功能停滞

来自分类Dev

开玩笑:监视正在测试的模块中的其他功能

来自分类Dev

模拟的npm模块以开玩笑的方式返回空对象

来自分类Dev

开玩笑-函数fs.writefile中的模拟回调

来自分类Dev

开玩笑:模拟构造函数以返回错误

来自分类Dev

开玩笑:如何在node_modules中模拟库?

来自分类Dev

无法模拟createQueryBuilder函数typeorm nestjs开玩笑

来自分类Dev

如何在类中开玩笑地模拟节点模块?

来自分类Dev

开玩笑地模拟一个toPromise函数.toPromise不是一个函数

来自分类常见问题

开玩笑地将变量传递给测试