Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用CreateReact应用程序忽略Jest测试中生成的中继查询文件?_Javascript_Reactjs_Jestjs_Create React App_Relay - Fatal编程技术网

Javascript 如何使用CreateReact应用程序忽略Jest测试中生成的中继查询文件?

Javascript 如何使用CreateReact应用程序忽略Jest测试中生成的中继查询文件?,javascript,reactjs,jestjs,create-react-app,relay,Javascript,Reactjs,Jestjs,Create React App,Relay,我使用CreateReact应用程序和添加的中继创建了一个React应用程序。我想用Jest测试我的组件,但是中继编译器生成Jest读取为测试文件的文件。我不能忽略这些文件,因为我正在使用CreateReact应用程序 例如,测试可能如下所示: //src/components/MyComponent/\uuu测试\uuuuu/MyComponent.test.js 从“React”导入React; 从“babel插件中继/宏”导入graphql; 从“react relay”导入{QueryR

我使用CreateReact应用程序和添加的中继创建了一个React应用程序。我想用Jest测试我的组件,但是中继编译器生成Jest读取为测试文件的文件。我不能忽略这些文件,因为我正在使用CreateReact应用程序

例如,测试可能如下所示:

//src/components/MyComponent/\uuu测试\uuuuu/MyComponent.test.js
从“React”导入React;
从“babel插件中继/宏”导入graphql;
从“react relay”导入{QueryRenderer};
从“反应测试渲染器”导入渲染器;
从“中继测试utils”导入{MockPayloadGenerator,createMockEnvironment};
从“../MyComponent”导入MyComponent;
const query=graphql`
查询MyComponentQuery@relay\u test\u操作{
myComponent:节点(id:“测试id”){
…MyComponent\u MyComponent
}
}
`;
常量rootRender=({props})=>;
它('渲染而不崩溃',()=>{
const-environment=createMockEnvironment();
const component=renderer.create(
);
environment.mock.resolveMostRecentOperation((操作)=>
MockPayloadGenerator.generate(操作));
expect(component.toJSON()).toMatchSnapshot();
});
中继编译器将为查询生成一个文件
src/components/MyComponent/\uuuuuu tests\uuuu/\uuuu generated\uuuuu/MyComponentQuery.graphql.js

运行测试时,我得到:

FAIL src/components/MyComponent/__tests__/__generated__/MyComponentQuery.graphql.js
  ● Test suite failed to run

    Your test suite must contain at least one test.

如何让Jest忽略生成的查询文件?有没有一种方法可以在不从create react app弹出的情况下执行此操作?

尝试将其添加到您的package.json中

    ...,
    "jest": {
        "testPathIgnorePatterns": [
            ".graphql.js"
        ]
    },
    ...

create react应用程序不支持
testPathIgnorePatterns
oh ok。也许你可以重命名你的
\uuuuu tests\uuuuu
文件夹。Jest将查找任何具有以下任何流行命名约定的测试文件:在
\uuuu tests\uuuu
文件夹中具有.js后缀的文件。后缀为.test.js的文件。后缀为.spec.js的文件。