草庐IT

javascript - 用 enzyme react 测试组件 Prop 变化

我正在修改此处找到的示例:https://github.com/airbnb/enzyme/blob/master/docs/api/ReactWrapper/setProps.mdclassFooextendsReact.Component{render(){return({}}/>);}}it('shouldpassanddoesnot',()=>{constwrapper=mount();expect(wrapper.find('.foo').html()).toBe(``);wrapper.setProps({name:'bar'});expect(wrapper.find('

javascript - enzyme 模拟提交表单,无法读取未定义的属性 'value'

我在使用jest和enzyme测试组件时遇到了一些困难。我想做的是测试提交名称字段中没有值的表单。这将确保组件显示错误。但是,当我运行其余部分时,我的控制台出现错误:TypeError:Cannotreadproperty'value'ofundefined我对前端测试和一般测试还很陌生。所以,我不完全确定我是否正确地使用enzyme进行此类测试。我不知道我的测试是否不正确,或者我是否刚刚编写了一个不容易测试的组件。如果可以更轻松地测试,我愿意更改我的组件吗?组件classInputFormextendsComponent{constructor(props){super(props)

javascript - enzyme 测试认证高阶组件(HOC)

我创建了一个高阶组件/组合组件,以确保在加载组件之前对用户进行身份验证。这是非常基本的,但我在测试它时遇到了一些麻烦。我想测试以下几点,这与我在其他地方已经进行的测试类似:呈现组件(我通常通过查找特定于组件的className来检查)有正确的props(在我的例子中是authenticated)如果已通过身份验证,则呈现包装组件;如果未通过身份验证,则呈现nullHOC:importReactfrom'react';import{connect}from'react-redux';import{createStructuredSelector}from'reselect';import

javascript - 如何使用 Jest 和 Enzyme 在 React 中测试表单提交?无法读取未定义的属性 'preventDefault'

我正在编写一个测试来检查如果提交的登录表单没有数据,是否会显示错误通知组件。describe('Usersignin',()=>{it('shouldfailifnocredentialsareprovided',()=>{constloginComponent=shallow();expect(loginComponent.find('.form-login').length).toBe(1);loginComponent.find('.form-login').simulate('submit');expect(loginComponent.find(Notification).l

javascript - Enzyme 的 shallow().text() 和 React Native 没有像我预期的那样工作

我试图通过enzyme对ReactNative测试有一些基本的了解。和react-native-mock.下面不包括:用于mocha的自定义编译器,以获得babel的优点。我的代码如下:Block.jsx:importReactfrom'react';import{View}from'react-native';exportdefault({title,ui})=>(Title:{title});Block.test.jsimport{shallow}from'enzyme';import{expect}from'chai';import{Block}from'../';importR

javascript - Jest : mocking console. 错误 - 测试失败

问题:我有一个简单的React组件,我正在使用它来学习使用Jest和Enzyme测试组件。在处理Prop时,我添加了prop-types模块来检查开发中的属性。prop-types使用console.error在未传递必需的props或props是错误的数据类型时发出警报。我想模拟console.error来计算它在我传入丢失/错误输入的props时被prop-types调用的次数。使用这个简化的示例组件和测试,我希望这两个测试的行为如下:具有0/2个所需Prop的第一个测试应该捕获模拟调用两次。具有1/2必需Prop的第二个测试应该捕获调用一次的模拟。相反,我得到了这个:第一个测试运

javascript - 开 Jest , enzyme - 测试返回 jsx 的方法

我有以下组件:importReact,{Component}from'react';import{Link,IndexLink}from'react-router';classNavbarextendsComponent{renderLinks=(linksData)=>{returnlinksData.map((linkData)=>{if(linkData.to==='/'){return({linkData.icon}{linkData.text})}else{return({linkData.icon}{linkData.text})}})};render(){return({

javascript - 导入 SASS 文件的测试组件时出现语法错误

我正在尝试使用Jest+Enzyme测试我的React组件,但是当我的组件有SASS文件(scss),正在发生SyntaxError。这是我的SASS文件内容:.user-box{width:50px;height:50px;}我只是将其导入到我的组件中:importReactfrom'react';import'./userBox.scss';classMyComponentextendsReact.Component{render(){conststyle={borderRadius:'99px'};return(HelloWorld);}}exportdefaultMyCompo

javascript - 如何使用 Enzyme 等待 Mocha 中 React 组件的完整渲染?

我有一个Parent组件,它呈现一个Child组件。Child组件首先呈现独特的Prop,如“name”,然后Parent组件呈现常见的Prop,如“type”,并使用将这些Prop注入(inject)Child组件React.Children.map.我的问题是Enzyme无法检测到Section组件呈现的公共(public)属性,因此我无法有效地测试是否添加了公共(public)属性。测试:constwrapper=shallow()//console.log(wrapper.find(Child).node.props)注入(inject)常用props的代码:constPare

javascript - 错误 : Enzyme Internal Error: unknown composite type undefined

我在尝试应用enzyme时遇到此错误,但我找不到任何相关问题。这是test.js;importReactfrom'react';importAccountLoginFormfrom'./LoginPage';importsinonfrom'sinon';import{mount,shallow,configure}from'enzyme';import{expect}from'chai';importAdapterfrom'enzyme-adapter-react-15';importconfigureStorefrom'redux-mock-store';configure({ada