【问题标题】:How to stop jest running test constants folder如何停止开玩笑运行测试常量文件夹
【发布时间】:2024-04-17 20:15:01
【问题描述】:

我正在使用 Jest 测试一个 React-Redux JS 应用程序,但我无法停止运行我的常量文件夹的 jest。我正在使用我的常量文件夹来存储状态的各种快照并模拟 api 响应,因为它们可能非常大,我不希望它们内联,我可能希望将来重用。

我的文件夹结构类似于下面,testStates 是我的常量文件夹: |- __tests__ |- some tests |- testStates |- state_errors |- state_some_errors |- app

我尝试使用 package.json 来忽略模块路径,因为 Jest 文档建议 here。但是,正如文档中所说,我现在不能将 import/require 这些常量放入我的测试套件中。

有没有办法排除运行测试文件夹内的文件夹,但也允许在测试套件中导入?

谢谢

【问题讨论】:

  • “运行测试常量文件夹”到底是什么意思。 Jest 以哪种方式“运行”您的常量文件夹?
  • jest 认为包含js 文件的常量文件夹具有测试套件,然后尝试将它们与其他测试一起运行。失败是因为文件中没有测试,或者我正在从它不喜欢的那一刻导出。
  • 我不太确定为什么您的常量文件夹的处理方式应不同于通常的源代码文件。 Jest 不会运行您的组件代码,对吗?
  • 不,它不运行实际的组件代码。我希望在__tests__ 文件夹中包含我的测试常量(例如状态/api 响应),这就是我相信它尝试运行它的原因。

标签: reactjs testing redux jestjs babel-jest


【解决方案1】:

当我在我的 react native 项目中使用 jest 时,我使用 modulePathIgnorePatterns: ["directoryNameToIgnore"] 来忽略文件。

package.json

"jest": {
    "preset": "react-native",
    "setupFiles": ["./path/jestSetupFile.js"],
    "modulePathIgnorePatterns": ["./__tests__/constants-test.js"]
}

笑话文档here.

【讨论】:

    【解决方案2】:

    这更像是一个评论而不是一个答案,但我没有必要的声誉来发表评论。我之前使用过__mock__ 文件夹将这些文件分别存储在__test__ 文件夹旁边,并从那里导入内容。它允许根据您的要求分离文件的关注点,不执行测试。

    【讨论】:

    • 感谢您的建议,有机会我会测试一下
    最近更新 更多