jest.config更改时重新运行Jest

时间:2019-12-17 11:31:50

标签: jestjs

我正在使用jests.config.js文件:

// jest.config.js
module.exports = {
    verbose: true,
    setupFiles: ["./helpers/setup/environment.js"],
    testMatch: ["**/__tests__/v2/tests.cloud.js"],
    globals: {
        _: true,
    },
    watchPathIgnorePatterns: ["./src/dataset", "./logs"],
};

我带着手表开玩笑:

jest --watch

为了自行开发每个测试,每次我继续编写下一个测试时,我都会在 testMatch 上更改测试文件。当配置文件更改时,手表是否有办法重新加载Jest配置本身?

2 个答案:

答案 0 :(得分:0)

还有很多其他选择

CLI [TestPathPattern]

如果您运行jest --help,将会看到可以通过TestPathPattern来匹配测试文件

$ jest --help
Usage: jest.js [--config=<pathToConfigFile>] [TestPathPattern]

-onlyChanged,-o

Jest将尝试仅运行与更改的文件(在当前存储库中)相关的测试。


观看模式(p)

--watch模式下,您可以按P并输入正则表达式以选择要运行的文件

答案 1 :(得分:0)

最终编写了一个简短的NodeJS脚本:

const fs = require("fs");
const { spawn } = require("child_process");
const filename = "../jest.config.js";

let jest;

const run = () => {
    if (jest) {
        jest.kill();
    }

    jest = spawn("jest", ["--watch"], { stdio: "inherit" });
};

run();
fs.watch(filename, run);

process.on("SIGINT", function() {
    console.log("Caught interrupt signal");
    process.exit();
});