首页 > 解决方案 > 如何使用 Jest 为 getData() 编写测试,使用 module.exports 进行测试,但需要 React/Gatsby 的 ESM 导出语法。Json 文件无法解析

问题描述

以下是我的功能。我在我的 React/Gatsby 应用程序中需要这些,因此我使用 ESM 导出语法将其导出。但我不能用它来测试。

问题:查看打印屏幕.. Jest 似乎不喜欢 Json 文件?在此处输入图像描述

import gameOfThrones from "../data/gameOfThrones.json";

const getGameOfThronesData = ()=> {
    console.log(gameOfThrones.gameOfThrones.episodes)
}
    
const getEpisodesPerSeason = (season)=> gameOfThrones.gameOfThrones.episodes.filter(episode=> episode.season === season)
const getEpisodeData = (episodeId)=> gameOfThrones.gameOfThrones.episodes.find(episode=> episode.id === episodeId)
const getNextEpisode = episodeId => null
const getPrevEpisode = episodeId => null
    
export {getGameOfThronesData, getEpisodesPerSeason, getEpisodeData, getNextEpisode, getPrevEpisode}
    
// module.exports = {
//     getGameOfThronesData, getEpisodesPerSeason, getEpisodeData, getNextEpisode, getPrevEpisode
// };

标签: reactjstestingjestjsgatsbyimport-module

解决方案


在此页面上进行以下设置可以解决问题https://www.gatsbyjs.com/docs/how-to/testing/unit-testing/


推荐阅读