小编Cla*_*rmo的帖子

开玩笑--watch始终运行所有测试

我最近从摩卡咖啡转到了Jest。除了始终运行所有测试的监视模式以外,其他所有功能都正常运行(不仅是文档中所说的与未提交文件相关的测试)。我已经搜索了文档,并使用了google,但没有找到有关此问题的任何信息。

我开玩笑的配置是

  "jest": {
    "coveragePathIgnorePatterns": [
      "/node_modules/",
      "/generated/",
      "/mock/",
      "/tools/",
      "/transactions/"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 90,
        "functions": 90,
        "lines": 90,
        "statements": 90
      }
    },
    "resetMocks": true,
    "moduleDirectories": [
      "node_modules",
      "src"
    ],
    "moduleNameMapper": {
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/src/__mocks__/fileMock.js",
      "\\.(css|less|scss)$": "<rootDir>/src/__mocks__/styleMock.js"
    },
    "setupTestFrameworkScriptFile": "<rootDir>/tools/setupTest.js"
  },
Run Code Online (Sandbox Code Playgroud)

setupTestFrameworkScriptFile只包含一行:

require('babel-polyfill');
Run Code Online (Sandbox Code Playgroud)

Babelrc:

 "env": {
    "test": {
      "plugins": [
        "rewire",
        "transform-class-properties",
        "transform-es2015-modules-commonjs"
      ],
      "presets": [
        "es2017",
        "react",
        "stage-0",
        "es2015"
      ]
    }
  }
Run Code Online (Sandbox Code Playgroud)

我从开始测试,jest --watch并显示消息“确定要运行的测试套件”,但是即使没有提交任何文件,也将运行所有测试。

我在Windows 7上,并且在powershell中运行命令。节点版本:v6.9.1
Jest版本:"babel-jest": "20.0.3", …

jestjs babel-jest

5
推荐指数
1
解决办法
749
查看次数

Chrome 扩展 - 如何使用清单 v3 访问本地 file://

我有一个 Chrome 扩展程序,可以(如果您允许访问文件 URL)抓取您在 Chrome 中打开的本地 pdf 文件,并将其发送到我们的 API 进行处理。这是通过从后台脚本中使用XMLHttpRequestto获取 pdf 来完成的。file:///Users/user/whatever/testfile.pdf

当 Chrome 扩展迁移到清单 v3 时,后台脚本将成为服务工作人员。在 Service Worker 中 onlyfetch可用,而不是XMLHttpRequest. 问题是,fetch 仅支持 http 和 https,不支持 file:// url。那么我怎样才能实现让 Chrome 扩展获取/获取本地文件的相同功能呢?

编辑:我也尝试过的事情:

  1. 按照答案的建议,从注入的 iframe 中制作 XMLHttpRequest。net:ERR_UNKNOWN_URL_SCHEME这在发出请求时 会出错网络:ERR_UNKNOWN_URL_SCHEME

  2. 从注入的内容脚本制作 XMLHttpRequest。这给出了错误Access to XMLHttpRequest at 'file:///.../testfile1.docx.pdf' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https. 从源“null”访问“file:///Users/clara.attermo/Downloads/testfile1.docx.pdf”处的 XMLHttpRequest 已被 CORS 策略阻止:跨源请求仅支持协议方案:http、data、 chrome、chrome 扩展、chrome 不受信任、https。

据我从大量研究中了解到,访问file://通常被阻止,Chrome 扩展后台脚本曾经是一个例外。在我看来,内容脚本或操作弹出窗口从来不允许这样做。 …

google-chrome-extension manifest.json

5
推荐指数
1
解决办法
6752
查看次数