【问题标题】:Jest changed test directory resulting beforeAll is not defined开玩笑更改了测试目录导致 beforeAll 未定义
【发布时间】:2018-11-14 02:01:36
【问题描述】:

我曾经将所有测试放在__test__ 目录中。但是我决定将每个测试文件放到每个组件的目录中,使用不同的命名约定。

旧结构:

src/
 __test__/
  example.test.js
  example2.test.js

新结构:

src/
 components/
  example/
   example-controller.js
   example-model.js
   example-route.js
   example-test.js

随着目录的命名和位置发生变化,我更新了所有导入语句和相应文件的命名。我使用的是 Jest 的默认功能,但由于我将测试文件名从 example.test 更改为 example-test 我还更新了 package.json

"jest": {
          "testRegex": "./src/components/*/.*.-test.js$"
 },

问题是当我运行项目时,npm run 它抛出

beforeAll((0, _asyncToGenerator3.default)( /#PURE/_regenerator2.default.mark(function _callee() {

ReferenceError: beforeAll 没有定义

知道为什么会这样吗?

【问题讨论】:

    标签: node.js testing jestjs


    【解决方案1】:

    在感到沮丧之前尝试使用您的文件路径regextester。此外,查看一些使用 jest 的流行的现有 javascript 项目并检查他们的 jest 配置,以了解社区如何解决项目结构。跟随其他人似乎很简单,但大多数软件工程师不会独自工作,而且通常会同意良好的做法。

    考虑在一年后回到这个项目;您正在更改一个开箱即用的简单流程的默认行为。 git blame 之后有人可能会恨你。

    如果您只想检查所有-test.js 文件,请慢慢修改default config,直到匹配您想要的文件路径。

    (/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$
    

    可能(对你来说)应该是:

    (.*/src/.*(-test).jsx?)
    

    【讨论】:

      猜你喜欢
      • 2017-11-01
      • 2018-06-02
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 2020-08-22
      • 1970-01-01
      • 2018-04-04
      相关资源
      最近更新 更多