nap*_*499 6 unit-testing reactjs jestjs react-testing-library jest-dom
我正在使用 RTL 测试 React 组件,每次运行测试时,我都会得到,
"messageParent" can only be used inside a worker
Run Code Online (Sandbox Code Playgroud)
**这是代码
describe('Header', () => {
it('validates header component is rendered', () => {
const { getByTestId } = render(<Header patientName="Jake Bland" />);
expect(getByTestId('patient-name')).toHaveTextContent(/^Jake Bland$/);
expect(getByTestId('dateRange')).toBe(dateRange);
});
});
Run Code Online (Sandbox Code Playgroud)
对此的任何帮助将不胜感激。
小智 17
我遇到了同样的问题,它是由调用toBe()或toEqual()HTMLElement 引起的。所以你最有可能的罪魁祸首就在这里,因为getByTestId返回一个 HTMLElement:
expect(getByTestId('dateRange')).toBe(dateRange);
我通过测试元素的文本内容解决了我的问题。
expect(getByTestId('dateRange')).toHaveTextContent('...');
嗨,我花了一些时间谷歌搜索后遇到了同样的问题,我发现了这个:github问题论坛
事实证明,这个问题是由node12版本引起的,我将我的版本降级到版本10,一切正常,我也升级到版本14,这也有效。
在你的终端中检查你的节点版本是什么:
希望这有帮助
| 归档时间: |
|
| 查看次数: |
2584 次 |
| 最近记录: |