如何使用 Jest 为 getData() 编写测试,使用 module.exports 进行测试,但需要 React/Gatsby 的 ESM 导出语法。 Json 文件无法解析
How to write test with Jest for getData() using module.exports for testing but requires ESM export syntax for React/Gatsby. Json file cannot parse
以下是我的函数。我的 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
// };
此页面上的以下设置可以解决问题 https://www.gatsbyjs.com/docs/how-to/testing/unit-testing/
以下是我的函数。我的 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
// };
此页面上的以下设置可以解决问题 https://www.gatsbyjs.com/docs/how-to/testing/unit-testing/