在目前的项目中,我打算将nodejs CMS用作博客,请告诉我哪个更适合用于博客的nodejs CMS.
我为下载文件创建了一个组件,它带有一些道具并在按钮点击时下载文件,它有两个函数调用showLoader和HideLoader
组件:下面是组件代码,它点了一些道具并在点击该用户下载文件时创建了一个下载按钮.
import React from 'react'
import FileSaver from 'file-saver'
import axios from 'axios'
const DownloadFile = (props) => {
const { url, title, callShowLoader, callHideLoader } = props
const callDownloadFile = () => {
callShowLoader()
axios.get(url, { responseType: 'blob' }).then(res => {
const fileName = res.headers['content-disposition'].match(/\"(.*?)"/)
const fileToDownload = new Blob([res.data], {type: 'application/vnd.ms-excel;charset=charset=utf-8'})
FileSaver.saveAs(fileToDownload, fileName[1])
callHideLoader()
})
}
return (<button className='mck-button-primary' title={title} onClick={e => callDownloadFile()}>
<span className={"mck-icon__download mck-icon-no-pad"} />
</button>)
}
export default DownloadFile
Run Code Online (Sandbox Code Playgroud)
测试我在测试组件,不能测试用户点击按钮下载时,它给callShowLoader不是函数错误
import React …
Run Code Online (Sandbox Code Playgroud) 我正在尝试测试以下组件,但出现错误,它是包含一些数据的功能组件。
下面的组件从父组件接收信息列表并进行渲染,其工作正常,但是在编写测试用例时,使用笑话和酶失败
import React from "react";
export const InfoToolTip = data => {
const { informations = [] } = data.data;
const listOfInfo = () => {
return informations.map((info, index) => {
const { name, id } = info;
return [
<li>
<a
href={`someURL?viewMode=id`}
>
{name}
</a>
</li>
];
});
};
return (
<div className="tooltip">
<ul className="desc">{listOfInfo()}</ul>
</div>
);
};
Run Code Online (Sandbox Code Playgroud)
测试用例
import React from "react";
import { shallow, mount } from "enzyme";
import { InfoToolTip } from "../index.js";
describe("InfoToolTip", () …
Run Code Online (Sandbox Code Playgroud)