我正在尝试使用chaijs断言编写单元测试,并且想知道如何期望长度为零的数组作为值。我的测试函数期望语句:returnexpect(functionRetuningPromise()).toeventually.have.property("key1",[]);运行mocha的控制台输出:AssertionError:expected{otherkey:otherVal,key1:[]}tohaveaproperty'key1'of[],butgot[]我试过deep.property,key1:"[]"但没有成功 最佳答案 我忽略
我正在尝试使用chai-as-promised库测试返回promise的函数。我promise的结果是一个具有嵌套属性的对象。是否可以测试深层嵌套属性的值。例如functionmyFunc(){returnnewPromise((resolve,reject)=>{constdata={thing:{foo:'bar',baz:'lah'}}resolve(data)})}如何在不检查整个对象的情况下测试foo属性是否等于“bar”?我试过这样的事情:expect(myFunc()).to.eventually.have.property('thing.foo','bar')但是没有运
我使用Mocha进行单元测试,使用Chai进行断言。我想找到一种易于使用的解决方案来检查对象是否具有我的比较对象中定义的结构和属性。但我不需要对象完全相等。被测对象至少应该包含我的测试对象中的所有属性,但它也可能包含当时未被测试的其他属性。所以,我想测试一个单元来检查它返回的对象是否至少有一个名为“foo”的属性,它本身是一个至少包含值为10的属性“bar”的对象。所以,我有要测试的预期结果:varexpected={foo:{bar:10}};我调用我的单元并将我的测试对象放在变量sut中:varsut=MyUnit.myFunction();所以对于各种suts,我期望这些结果:/
我有以下内容:import{shallow}from"enzyme"constwrapper=shallow();如何查看包装器的内容? 最佳答案 您可以使用wrapper.debug()获取表示包装器元素的字符串,如:import{shallow}from"enzyme";constwrapper=shallow();console.log(wrapper.debug()); 关于javascript-如何打印enzyme浅包装的内容,我们在StackOverflow上找到一个类似的问
Chai,matchers是否与rspecs=~等价(这意味着包含所有元素,但顺序无关紧要。传递示例[1,2,3].should=~[2,1,3]失败[1,2,3].should=~[1,2] 最佳答案 您可以使用最新版Chai中提供的members测试:expect([4,2]).to.have.members([2,4]);expect([5,2]).to.not.have.members([5,2,1]); 关于javascript-等同于rspec=~对于Chai中的数组,我们在
我正在尝试在typescript中使用chai。Chai的javascript示例显示为:varshould=require('chai').should();我下载了类型定义:tsdinstallchai...引用文件,尝试导入///importshould=require('chai').should();我得到:errorTS1005:';'expected...知道怎么做吗? 最佳答案 import{should}from'chai';should(); 关于javascript
我有一个使用react-router的简单组件(我知道这是alpha版本):{props.app&&props.app.health&&}建议在中包装的文档在测试时为组件提供上下文。但是,使用Jest/Enzyme我无法shallow()渲染-我必须使用enzyme的mount()或render(),这会导致问题,因为HomeLogin是一个连接的组件-我希望能够测试我的组件是否呈现正确的内容,但不测试其中呈现的组件。我的测试:it('Rendersbaseduponmatchedroute',()=>{letprops={app:{health:true},};constcompon
问题我刚刚开始进行enzyme和react测试。我正在尝试让enzyme与karma和webpack在一个简单的react组件上一起工作。我的问题是包装器上的prop()返回null,我不确定为什么。Greeter.jsimportReactfrom'react';/**Atrivialcomponentweaddedwhiletryingtogetthereacttestingworking**/exportdefaultclassGreeterextendsReact.Component{constructor(props){super(props);this.state={nam
我有一个ImageLoader类组件,我正在尝试测试是否正在调用HTMLImageElement上的onload函数。重要的是要注意ImageLoader按预期工作,我只是无法运行测试。这是我的类组件的示例:exportdefaultclassImageLoaderextendsReact.Component{//OmittedforbrevitysetSrc=()=>{const{src}=this.props;if(src){this.tmpImg=newImage();//this.tmpImg.onloadisnevercalledthis.tmpImg.onload=()=>
我正在尝试使用Enzyme的describeWithDOM()和mount()测试React组件的行为。但是当组件导入jQuery时我得到这个错误:错误:jQuery需要一个带有文档的窗口我知道Enzyme在后台使用jsdom,我一直认为jsdom负责处理窗口和文档。但我似乎找不到如何让它们一起工作。测试代码如下所示:importchai,{expect}from'chai';importSelectfrom'./Select';importReact,{createElement}from'react';import{describeWithDOM,mount}from'enzyme