簡體   English   中英

如何讓 Jest --watch 在更改 JSON/YAML 文件時運行?

[英]how to get Jest --watch to run on changes to JSON/YAML files?

我正在使用--watch運行一些依賴數據固定裝置的開玩笑測試。 我希望在編輯數據文件時觸發手表運行,而不僅僅是代碼。 我已將以下內容添加到我的package.json ,專門為moduleFileExtensions yaml仍然沒有任何運氣。 基於: https://jestjs.io/docs/en/configuration#modulefileextensions-arraystring

是否可以對package.json進行設置,看看它是否完全被拾取? 我想下一步是嘗試使用.js配置,拋出一些錯誤,看看我是不是找錯了樹!

yaml 文件不是“導入”的一部分,否則它們只是由我的代碼加載。 所以我希望有一種“觸摸”文件會重新觸發手表運行的方法。

也許 watch 命令還需要指定要監視的數據文件?

  "jest": {
    "verbose": true,
    "modulePaths": [
      "cdn",
      "src"
    ],
    "moduleFileExtensions": [
      "js",
      "json",
      "jsx",
      "ts",
      "tsx",
      "yaml"
    ]

根據這個問題moduleFileExtensions是配置其他文件擴展名以觀看的正確位置。 但是,您應該使用roots目錄而不是modulePaths來配置要監視的目錄。

modulePaths的開玩笑定義:

另一種 API 設置 NODE_PATH 環境變量,modulePaths 是解析模塊時要搜索的其他位置的絕對路徑數組。

模塊在測試執行之前就解決了,預計不會有太大變化。 如果您想添加目錄供 Jest 觀看,那么您可以考慮使用roots配置

roots的開玩笑定義:

Jest 應該用來在其中搜索文件的目錄的路徑列表。

package.json

{
  ...
  "jest": {
    "roots": [
      "<rootDir>/cdn",
      "<rootDir>/src"
    ],
    "moduleFileExtensions": [
      "js",
      "json",
      "jsx",
      "ts",
      "tsx",
      "node",
      "yaml",
      "yml"
    ]
  }
}

請注意,我還在 moduleFileExtensions 中添加了“yml”,以防您使用 yml/yaml。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM