Jest 文件夹结构
Posted
技术标签:
【中文标题】Jest 文件夹结构【英文标题】:Jest Folder Structure 【发布时间】:2020-10-08 02:04:33 【问题描述】:我目前在我的 CRA 应用程序中使用 Jest。我看到 CRA 在编写测试时选择使用filename.test.js
格式,但我发现这种方法对眼睛和大脑来说有点麻烦。我发现您可以在名为 __tests__
的文件夹中编写测试,并且 jest 将自动在该文件夹中运行测试。我喜欢这种方法。我现在的问题是,使用此设置时的标准是什么?通常,我的src
文件夹是这样设置的:
src
└── components
├── some1ComponentDir
└── some2ComponentDir
我是在每个级别创建一个__tests__
文件夹,还是在src
文件夹内的__tests__
文件夹内模拟我的src
文件夹的结构?
如果您认为这是一个愚蠢的问题,请忽略它并继续前进。感谢您的帮助。
【问题讨论】:
在企业应用程序中,大多数人在代码所在的同一文件夹中编写单元测试用例。您应该将所有测试用例编写在单个 test 目录中 @RIYAJKHAN 好的。我很好奇测试目录是否会模拟它正在测试的文件的结构。 【参考方案1】:在我看来,Jest 的约定按从好到坏的顺序排列:
src/file.test.js
在 Getting Started 文档中首先提到,非常适合在源文件旁边轻松找到测试(尤其是单元)
src/__tests__/file.test.js
允许您拥有多个 __tests__
目录,因此测试仍然接近原始文件,而不会弄乱相同的目录
__tests__/file.test.js
更像是旧的测试框架,将所有测试放在一个单独的目录中;虽然 Jest 确实支持它,但要让测试井井有条并易于发现并不容易
既然你不想要 1,听起来 2 是你最好的选择。
【讨论】:
只是好奇:在什么意义上最好/最差? 好问题,我已经根据我的意见更新了答案。 我想补充一点,至少在我看来,数字 3 是合理的 3。保持测试文件夹的结构与源文件夹的结构相同是相当麻烦的,尤其是对于深度嵌套的目录。所有测试文件开头的导入变得非常难以阅读和定位。 当测试就在附近时,保持源代码单元/集成测试也更容易。 1 为您提供最多的托管服务,而 3 为您提供的服务最少。以上是关于Jest 文件夹结构的主要内容,如果未能解决你的问题,请参考以下文章