javascript - 在 Jest 测试中将通用数据放在哪里

标签 javascript unit-testing jestjs

我不确定如何为 Jest 测试组织代码。

我的所有测试都在 __tests__ 下,所有模拟都在 __mocks__ 下。现在我有一些数据想在测试之间共享:它们不是现有函数的模拟,它们只是我想在不同文件中使用的一些 javascript 对象。

我应该创建一个 __data__ 目录吗?

还是将它们放在 __mocks__ 下?

或者在__tests__ 目录下不在文件名中加入-test

最佳答案

简短的回答是你想要的任何地方。

JavaScript 在其生命中经历了很多不同的阶段,也有很多不同类型的人在使用它。这可能就是为什么现在大多数工具都是高度可配置的,以允许个性化(定制)。

甚至 Jest 本身也显示出这些迹象。例如,测试匹配器将在 __tests__ 文件夹或包含 .spec.test 的文件中查找测试。

或者按照他们的文档以可视方式:

├── __tests__
│   └── component.spec.js # test
│   └── anything # test
├── package.json # not test
├── foo.test.js # test
├── bar.spec.jsx # test
└── component.js # not test

关于夹具和其他测试文件,答案是一样的,没有一种方法可以做到。

选择适合您的。

对于 __tests__ 结构,我建议将夹具数据放置在靠近使用它的测试的地方,如果多个测试需要访问,则将它进一步移动到项目中,直到它在一个公共(public)位置。

我的首选是 tests 文件夹,以将测试、固定装置和测试与 src 代码分开。

关于javascript - 在 Jest 测试中将通用数据放在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47326877/

相关文章:

javascript - 平台无关的 JS->Native Bridge?

c# - 仅可测试性就可以证明依赖注入(inject)的合理性吗?

reactjs - 模拟 textarea Jest 测试的更改

mocking - Jest 模拟全局 navigator.onLine

node.js - mocha 中的全局泄漏错误

javascript - 模拟更改不适用于 formik 的选择元素

javascript - 使用 Javascript 的 Laravel 4 render() PDF

javascript - 使用 Protractor 自动生成用于测试表单的字段值

javascript - 存储用户输入的值

python - 如何对 PySpark 程序进行单元测试?