Wordpress 如何对使用wp.apiFetch的gutenberg类/组件方法进行单元测试
我试图在调用wp.apiFetch方法的类/组件上对一个方法进行单元测试,但当我运行测试时,它总是说Wordpress 如何对使用wp.apiFetch的gutenberg类/组件方法进行单元测试,wordpress,jestjs,wordpress-gutenberg,Wordpress,Jestjs,Wordpress Gutenberg,我试图在调用wp.apiFetch方法的类/组件上对一个方法进行单元测试,但当我运行测试时,它总是说TypeError:apiFetch不是一个函数下面的结构适用于其他测试用例,尽管它们不进行任何api调用 精简测试设置 global.wp = {}; // some other packages Object.defineProperty(global.wp, 'apiFetch', { get: () => require('@wordpress/api-fetch') }); 精简
TypeError:apiFetch不是一个函数
下面的结构适用于其他测试用例,尽管它们不进行任何api调用
精简测试设置
global.wp = {};
// some other packages
Object.defineProperty(global.wp, 'apiFetch', { get: () => require('@wordpress/api-fetch') });
精简测试
const { apiFetch } = wp;
// some more constants from window
class NewAuthor extends Component {
// constructor
// method to test
createAuthor = () => {
const { someFunc, someErrorFunc } = this.props;
const authorObject = {
name,
} = this.state;
const createPath = '/wp/v2/users';
apiFetch({
path: createPath,
data: authorObject,
method: 'POST',
})
.then((user) => {
console.log('success', user);
someFunc();
})
.catch((error) => {
console.log('error', error);
someErrorFunc();
});
};
// some more methods
// render
}
export default NewAuthor;
const { apiFetch } = wp;
// some more constants from window
class NewAuthor extends Component {
// constructor
// method to test
createAuthor = () => {
const { someFunc, someErrorFunc } = this.props;
const authorObject = {
name,
} = this.state;
const createPath = '/wp/v2/users';
apiFetch({
path: createPath,
data: authorObject,
method: 'POST',
})
.then((user) => {
console.log('success', user);
someFunc();
})
.catch((error) => {
console.log('error', error);
someErrorFunc();
});
};
// some more methods
// render
}
export default NewAuthor;