【问题标题】:Jest Folder StructureJest 文件夹结构
【发布时间】: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 好的。我很好奇测试目录是否会模拟它正在测试的文件的结构。

标签: reactjs testing jestjs


【解决方案1】:

在我看来,Jest 的约定按从好到坏的顺序排列:

  1. src/file.test.jsGetting Started 文档中首先提到,非常适合在源文件旁边轻松找到测试(尤其是单元)
  2. src/__tests__/file.test.js 允许您拥有多个 __tests__ 目录,因此测试仍然接近原始文件,而不会弄乱相同的目录
  3. __tests__/file.test.js 更像是旧的测试框架,将所有测试放在一个单独的目录中;虽然 Jest 确实支持它,但要让测试井井有条并易于发现并不容易

既然你不想要 1,听起来 2 是你最好的选择。

【讨论】:

  • 只是好奇:在什么意义上最好/最差?
  • 好问题,我已经根据我的意见更新了答案。
  • 我想补充一点,至少在我看来,数字 3 是合理的 3。保持测试文件夹的结构与源文件夹的结构相同是相当麻烦的,尤其是对于深度嵌套的目录。所有测试文件开头的导入变得非常难以阅读和定位。
  • 当测试就在附近时,保持源代码单元/集成测试也更容易。 1 为您提供最多的托管服务,而 3 为您提供的服务最少。
猜你喜欢
  • 2021-11-18
  • 2021-04-11
  • 2015-04-06
  • 2014-02-18
  • 2018-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多