【发布时间】:2021-06-07 06:55:57
【问题描述】:
我正在尝试使用 jest 对自定义钩子进行单元测试,并在引发错误但我无法捕获实际错误消息的情况下对测试库做出反应,这是我目前的代码:
我的第一个钩子:
import react from 'react';
const useFirstHook = () => {
//I will add conditional logic later
throw new Error('my custom error is thrown')
const test1 = 'I am test 1';
return {
test1
};
};
export default useFirstHook;
test.js
import React from 'react';
import { render } from '@testing-library/react';
import useFirstHook from './useFirstHook';
describe('useFirstHook', () => {
//I also tried adding jest.spy but no luck
/* beforeAll(() => {
jest.spyOn(console, 'error').mockImplementation(() => {})
}); */
it('test 1', () => {
let result;
const TestComponent = () => {
result = useFirstHook()
return null;
};
render(<TestComponent />)
//expect()
});
});
我的逻辑是首先创建一个钩子,对其进行单元测试,然后创建组件,在那里添加钩子并使用钩子集成测试该组件。我错过了什么,或者我的方法完全错误?
【问题讨论】:
-
明确一点,你想测试一下你在钩子里的错误是否被抛出?
-
@juliomalves 是的,如果这有意义的话
标签: reactjs unit-testing jestjs react-testing-library