我正在修改此处找到的示例: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('
我在使用jest和enzyme测试组件时遇到了一些困难。我想做的是测试提交名称字段中没有值的表单。这将确保组件显示错误。但是,当我运行其余部分时,我的控制台出现错误:TypeError:Cannotreadproperty'value'ofundefined我对前端测试和一般测试还很陌生。所以,我不完全确定我是否正确地使用enzyme进行此类测试。我不知道我的测试是否不正确,或者我是否刚刚编写了一个不容易测试的组件。如果可以更轻松地测试,我愿意更改我的组件吗?组件classInputFormextendsComponent{constructor(props){super(props)
我创建了一个高阶组件/组合组件,以确保在加载组件之前对用户进行身份验证。这是非常基本的,但我在测试它时遇到了一些麻烦。我想测试以下几点,这与我在其他地方已经进行的测试类似:呈现组件(我通常通过查找特定于组件的className来检查)有正确的props(在我的例子中是authenticated)如果已通过身份验证,则呈现包装组件;如果未通过身份验证,则呈现nullHOC:importReactfrom'react';import{connect}from'react-redux';import{createStructuredSelector}from'reselect';import
这个问题在这里已经有了答案:Mocha/Chaiexpect.to.thrownotcatchingthrownerrors(7个答案)关闭6年前。我目前正在使用chai测试我的应用。我想测试我的方法之一抛出的错误。为此,我编写了这个测试:expect(place.updateAddress([])).to.throw(TypeError);方法如下:Place.prototype.updateAddress=function(address){varself=this;if(!utils.type.isObject(address)){thrownewTypeError('Expec
有没有办法断言string是带有chaibdd的array元素之一?我在ChaiAPI中找不到它expect("bar").to.be.one.of(["bar","key"]); 最佳答案 翻转支票:expect(["bar","key"]).to.include("bar"); 关于javascript-Chai希望成为数组元素之一,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question
我正在编写一个测试来检查如果提交的登录表单没有数据,是否会显示错误通知组件。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
我试图通过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
我有以下组件: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({
我尝试使用以下命令安装chai。npminstall--save-devchai然后我使用以下导入运行我的单元测试类。import{assert}from'chai';import{expect}from'chai';它抛出以下错误。test\main\MessageBroker.spec.ts(3,22):errorTS2307:Cannotfindmodule'chai'.[05:38:45][Typescript]TypeScripterror:test\main\MessageBroker.spec.ts(3,22):errorTS2307:Cannotfindmodule'c
我有一个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