reactjs - React Typescript 面临 enzyme 的问题

标签 reactjs typescript jestjs enzyme

这个问题在这里已经有了答案:





Enzyme: simple .to.have not working

(1 个回答)


10 个月前关闭。




我有一个组件app.tsx


import React, { useState } from "react";

const TestCom = () => {
 return(
     <>
     <div className="head">hey there</div>
     <select name="xyz" id="uni">
         <option value="abc">abc</option>
     </select>
     </>
 )
}

export default TestCom
我正在用笑话和 enzyme 测试它app.test.tsx
import  TestCom  from "./foo";
import { shallow } from 'enzyme';
import React from "react";


 test("basic test", () => {
 const app= shallow(<TestCom />)
  expect(app.find('div.head')).to.have.lengthOf(1);
 });
每当我使用 .to 时抛出错误
Property 'to' does not exist on type 'JestMatchersShape<Matchers<void, ShallowWrapper<HTMLAttributes,
 any, Component<{}, {}, any>>>, Matchers<Promise<void>, ShallowWrapper<HTMLAttributes, any, 
Component<...>>>>'.ts(2339)
我尝试过故障排除,但找不到修复方法

最佳答案

直到您添加 chai library ,没有.to.方法。玩笑own matchers.toHaveLength()您可以使用:

expect(app.find('div.head')).toHaveLength(1);

关于reactjs - React Typescript 面临 enzyme 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64477968/

相关文章:

javascript - 如何将Sinon.js FakeXMLHttpRequest与superagent一起使用?

javascript - 向 Jest 添加模块映射器?

字符串数组中的 Angular 双向数据绑定(bind)无法正常工作

reactjs - 如何使用 Jest 和 Enzyme 测试 ui-material TextField 的 onChange

javascript - fetch 原生支持多文件上传吗?

css - React js css样式表应用于多个组件

reactjs - 如何输入 html select 元素,以便 event.target.value 引用选项值类型?

reactjs - 如何查找不同元素的 getByRole 可用的属性?

javascript - vue-test-utils - 如何处理 $refs?

android - 是否可以在 react-native 中支持更新的 android sdk 版本?