Electrode:在构建时将 Jest 测试文件保留在 /lib 之外

Electrode: Keeping Jest test files out of /lib on build

如何将 *.spec.js**.test.js* 文件保留在 /lib 目录之外?

我觉得我可能错过了设置 Jest 测试的一些非常愚蠢的事情。我已经将测试放在 /src 中,就像 the docs indicate 一样,这对于 Jest 测试来说是典型的,但是进行构建会将测试文件复制到 /lib 目录。

我一直在寻找覆盖此行为的方法,但 electrode-archetype-react-app/arch-clap.js 中的这一点似乎阻止了围绕此的任何配置。

"build-lib:client": { 
    desc: false, 
    dep: [
        ".clean.lib:client", 
        ".mk.lib.client.dir", 
        ".build.client.babelrc"
    ], 
    task: mkCmd(`babel`, 
                `--source-maps=inline 
                   --copy-files 
                   --out-dir ${AppMode.lib.client}`, 
                `${AppMode.src.client}` ) 
}

我制作了一个小演示应用程序来说明这一点。

https://github.com/snekse/electrode-jest-build-config-example

切换到正确的分支

git checkout electrode-jest-docs-issue

构建项目

yarn install && yarn cleanBuild

在 /lib

中检查 test/spec 个文件
yarn hasLibTest

事实证明,Electrode 团队认为这是一个错误。我提交了一个 PR 来解决已经合并和发布的问题。

如果您包含 electrode-archetype-react-app ^5.4.14,它应该可以防止测试文件出现在您的 /lib 目录中。

https://github.com/electrode-io/electrode/pull/998