Jest 文件夹结构

Dow*_*son 18 testing reactjs jestjs

我目前在我的 CRA 应用程序中使用 Jest。我看到 CRAfilename.test.js在编写测试时选择使用格式,但我发现这种方法对眼睛和大脑来说有点麻烦。我发现您可以在名为的文件夹中编写测试__tests__,jest 将自动运行该文件夹中的测试。我喜欢这种方法。我现在的问题是,使用此设置时的标准是什么?通常,我的src文件夹设置如下:

src
??? components
    ??? some1ComponentDir
    ??? some2ComponentDir  
Run Code Online (Sandbox Code Playgroud)

我是__tests__在每个级别创建一个文件夹,还是src__tests__位于文件夹内的文件夹内模拟文件夹的结构src

如果您认为这是一个愚蠢的问题,请忽略它并继续。谢谢你的帮助。

Nic*_*rdy 36

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

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

由于您不想要 1,因此听起来 2 是您的最佳选择。

  • 我想补充一点,至少在我看来,数字 3 为 3 是合理的。保持测试文件夹的结构与源文件夹的结构相同是相当麻烦的,特别是对于深度嵌套的目录。所有测试文件开头的导入变得极难读取和定位。 (4认同)
  • 好问题,我已经用我的观点更新了答案。 (3认同)
  • 当测试临近时,对源代码单元/集成进行测试也更容易。1 为您提供最多的托管,3 为您提供最少的托管。 (3认同)

Gas*_*ass 5

我喜欢的测试文件夹结构:

\n
src / __tests__ \n          \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 components\n          \xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 componentOne.test.js\n          \xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 componentTwo.test.js\n          \xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 .....\n          \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 functions  \n          \xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 functionOne.test.js\n          \xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 functionTwo.test.js\n          \xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 .....\n          \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ....\n\n
Run Code Online (Sandbox Code Playgroud)\n