反应开玩笑的快照测试-更改目录结构

时间:2020-04-24 12:16:14

标签: reactjs jestjs create-react-app

我当前的结构如下

- Button
  - Button.tsx
  - Button.test.tsx

当我添加快照测试时,默认情况下会像这样创建__snapshot__目录

- Button
  - __snapshots__
    - Button.test.tsx.snap
  - Button.tsx
  - Button.test.tsx

我希望快照文件像这样放置在其他按钮文件旁边

- Button        
  - Button.tsx
  - Button.test.tsx
  - Button.test.tsx.snap

我已经了解了一个新的玩笑配置snapshotResolver ,但无法使其与我的react应用(使用CRA创建)一起使用。

如果我尝试将其添加到package.json文件中,react会告诉我它仅支持许多笑话选项,snapshotResolver不是其中之一。

我尝试了在线以下示例,但无法正常工作

我在包含以下内容的项目的根目录中创建了一个jest.config.js

module.exports = {
    snapshotResolver: './snapshotResolver.js',
};

并在项目根目录下也创建了snapshotResolver.js(这是我相信的github问题)

// https://jestjs.io/docs/en/configuration.html#snapshotresolver-string
module.exports = {
    testPathForConsistencyCheck: 'some/example.test.js',

    resolveSnapshotPath: (testPath, snapshotExtension) =>
        testPath.replace(/\.test\.([tj]sx?)/, `${snapshotExtension}.$1`),
    resolveTestPath: (snapshotFilePath, snapshotExtension) =>
        snapshotFilePath.replace(snapshotExtension, '.test'),
};

2件事。首先,我是否正确设置了Jest配置和解析程序?其次,因为我使用的是CRA,它会忽略jest.config并使用它具有的默认值吗?

修改

我发现此公关自2019年8月开始开放,https://github.com/facebook/create-react-app/issues/6532

1 个答案:

答案 0 :(得分:0)

您已经发现,BW不支持create-react-app配置选项。

因此,除非退出项目,否则将无法调整快照的存储位置。