草庐IT

sinon-chai

全部标签

javascript - 如何为 chai expect 提供用于 mocha 单元测试的自定义错误消息?

我有一个使用chai的expect的mocha测试:it("shouldparsesailsoutofcachefile",async()=>{constsailExtractor=newExtractor();constresult=awaitsailExtractor.extract("test.xml");try{expect(result.length).to.be.greaterThan(0);constwithMandatoryFlight=result.filter((cruises)=>{returncruises.hasMandatoryFlight===true;}

javascript - Babel/Karma/Chai 给出 TypeError : 'caller' , 'callee' 和 'arguments' properties may not be accessed on strict mode functions

我无法弄清楚为什么这个测试没有通过。varexpect=require('chai').expect;describe('HelloComponent',function(){it('passesaquitesimpletest',function(){expect(1+4).to.equal(5);});});产生这个错误:DEBUG[web-server]:serving:/Users/ivan/dev/react-starter/node_modules/karma/static/context.htmlDEBUG[web-server]:serving(cached):/Use

javascript - cucumber-js 和 Chai 如何期望具有给定选择器的元素是否存在于 DOM 中

我对cucumberjs有疑问。我找不到办法确保具有给定选择器的那个元素被呈现到DOM中。我在用着cucumberjs与Chai。https://github.com/cucumber/cucumber-jsisPresent返回对象——不管元素是否存在。所以问题是如何检查DOM中是否存在元素。我将编辑问题以分享一个经验教训。我阅读文档还要感谢NathanThompson。存在()返回一个promise,该promise将解决该元素是否存在于页面上。http://angular.github.io/protractor/#/api?view=Protractor.prototype.i

javascript - Sinon.JS - 如何从 stub 中获取参数?

我正在尝试使用Sinon来测试一个看起来有点像这样的JS组件......importBootboxfrom"../helpers/bootbox";importGuardfrom"../helpers/guard";importUrlHelperfrom"../helpers/url-helper";exportdefaultclassDeleteButton{/***CreatesaninstanceofDeleteButton.**@param{object}elementTheDOMelementtomakeintoadeletebutton.**@memberOfDeleteB

javascript - Chai JS 如何使函数括号可选?

我指的是测试断言库:http://chaijs.com/api/bdd/#false您可以像下面这样编写语言链断言:expect(false).to.be.false;expect()显然是一个全局函数,“to.be”看起来像两个属性,但最后一部分“false”是如何工作的。我希望它必须是一个函数调用:expect(false).to.be.false();这是2015ES语法吗?我似乎无法在https://github.com/lukehoban/es6features中找到对它的引用StackOverflow说这是不可能的:Howtoimplementoptionalparenth

javascript - 使用 sinon spy restore 或 reset 的正确方法是什么?

我有一套带有mocha、sinon和chai的测试服:describe('generalvisormethodstests',()=>{letres,req,next,resSpy,resNext;beforeEach(()=>{res={};next=()=>{};resSpy=res.json=sinon.spy();resNext=next=sinon.spy();});afterEach(()=>{resSpy.restore();resNext.reset();});describe('getbasemaplayersfromownermodel',()=>{it('shou

javascript - QUnit、Sinon.js - 如何确保发布到假服务器的请求正文正确?

我有一个JavaScript函数,它向我正在为其编写单元测试的远程API执行Post。我要测试的方法是这样的:varfunctionToTest=function(callback,fail){$.ajax({url:"/myapi/",type:"POST",data:{one:'one',two:'two'},accept:"application/json",contentType:"application/json"}).done(function(x){log=generateLogMessage('Success');callback(log);}).fail(functi

javascript - Sinon.js - 在实例化组件之前 stub React 组件的功能?

假设我有一个如下所示的组件:varReact=require('react/addons');varExampleComponent=React.createClass({test:function(){returntrue;},render:function(){vartest=this.test();return(Testcomponent-{test});}});module.exports=ExampleComponent;在我的测试中,我可以使用TestUtils渲染这个组件,然后像这样stub方法:varrenderedComponent=TestUtils.renderI

javascript - sinon.js stub - 你能在一个 stub 函数上调用多个回调吗?

如果我有一个接受2个回调函数的stub,我如何连接sinon.js以在调用stub函数时调用两个回调?例如-这是我想要stub的函数,它接受2个函数作为参数:functionstubThisThing(one,two){...oneandtwoarefunctions......contentsstubbedbysinon.js...}我可以使用sinon来调用任一参数:stubbedThing.callsArg(0);或stubbedThing.callsArg(1);但我似乎无法让两者都被调用。如果我尝试:stubbedThing.callsArg(0).callsArg(1);或

javascript - 如果间接调用 spied 方法,则不会调用 Sinon Spy

问题在我们的代码库中,我们有一个sinon问题,可以使用下面的代码片段重现。问题是,它似乎是间接调用的spy返回力false,console.log明确指出该方法被调用但spy.called保持false。代码以下CDN可用于html://cdnjs.cloudflare.com/ajax/libs/sinon.js/1.7.3/sinon-min.js//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.14/require.min.js主要.jsrequire(['myModule'],function(module){//usingsin