草庐IT

Chai-as-Promised

全部标签

javascript - Chai断言测试对象结构是否至少包含其他对象结构

我使用Mocha进行单元测试,使用Chai进行断言。我想找到一种易于使用的解决方案来检查对象是否具有我的比较对象中定义的结构和属性。但我不需要对象完全相等。被测对象至少应该包含我的测试对象中的所有属性,但它也可能包含当时未被测试的其他属性。所以,我想测试一个单元来检查它返回的对象是否至少有一个名为“foo”的属性,它本身是一个至少包含值为10的属性“bar”的对象。所以,我有要测试的预期结果:varexpected={foo:{bar:10}};我调用我的单元并将我的测试对象放在变量sut中:varsut=MyUnit.myFunction();所以对于各种suts,我期望这些结果:/

javascript - 等同于 rspec =~ 对于 Chai 中的数组

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中的数组,我们在

javascript - 学习 JavaScript : display all firstnames with B as first letter

我是第一次学习JavaScript,我想知道为什么我的代码不起作用。我有Python/Django知识。目标:我必须创建一个姓名列表,并且我必须只显示以“B”字母开头的名字。我的脚本:varlistNames=['Paul','Bruno','Arthur','Bert','José']for(variinlistNames){if(i.substr(0,1)==='B'){console.log(i);}}但是这段代码没有显示任何东西。 最佳答案 您需要使用listNames[i]作为i为您提供数组listNames的index。

javascript - 在 Typescript 中导入 Chai

我正在尝试在typescript中使用chai。Chai的javascript示例显示为:varshould=require('chai').should();我下载了类型定义:tsdinstallchai...引用文件,尝试导入///importshould=require('chai').should();我得到:errorTS1005:';'expected...知道怎么做吗? 最佳答案 import{should}from'chai';should(); 关于javascript

javascript - 数据表/TableTools : format data as text when exporting to Excel

我正在使用DatatablesTableTools插件,以便为我页面上的表格提供“导出到Excel”选项。一般来说,一切都按预期工作。我唯一的问题是我需要所有数据。结果Excel表中的列被格式化为文本,否则我将丢失某些列中的数据。示例:-我有一个包含前导零的列(例如0022),如果它的格式不是文本。-另一列包含19位帐号(例如1234567890123456789),如果不是,则在Excel文件中最后四位数字被更改为零(例如1234567890123450000)格式化为文本。有什么方法可以在我的Datatables/TableTools初始化中进行设置,以便它始终将所有数据作为文本导

javascript - 是否可以实现 'Continue as {Facebook user name}' 按钮?

我正在尝试为我的站点实现Facebook登录按钮。一些Facebook产品有一个很好的FB按钮,它使用已经登录的用户的Facebook用户名。还有一个问题:当用户已经在浏览器中登录时,是否可以使用Javascript获取FB名称?例子: 最佳答案 您可以在Facebook文档中找到它,登录按钮/插件配置器部分:https://developers.facebook.com/docs/facebook-login/web/login-button有一个选项:当用户登录Facebook时包括姓名和头像

javascript - Webpack 工作加载器 : How to make it work as a dependency?

我有我的index.html导入依赖项。myModule/app.jsvarWebWorker=require('worker-loader!./worker');window.WebWorker=newWebWorker();worker存在于node_modules/myModule/worker.js当我运行“webpack”时,它可以正常工作,因为它们位于同一个文件夹中。如果我更改路径中的任何内容,webpack将不会根据需要获取webworker代码。将此模块用作依赖项时会出现问题,因为我需要将worker.js放在与index.html相同的路径中。替代方法是使用Blob并

javascript - typescript 错误 : Reserved word 'this' used as name

我正在尝试获取thisNode.jsTypeScript定义可以正常工作,但WebStorm给了我一大堆错误,其中包含所有相同的消息:Reservedword'this'usedasname.ThisinspectionreportsonanyusesofJavaScriptreservedwordsbeingusedasaname.TheJavaScriptspecificationreservesanumberofwordswhicharecurrentlynotusedasJavaScriptkeywords.Usingthosewordsasidentifiersmayresu

javascript - 如何使用 AS3 运行 jQuery 函数

我正在尝试从AS3在我的HTML页面上运行一个jQuery函数。这是我的jQuery函数:functionloadImage(imageNumber){imageURL='';$("#imageBox").html(imageURL);}以下是我的Flash文件在HTML页面中的设置:最后...这是我的.swf文件中的AS3脚本:functiongotoImage1(e:MouseEvent):void{varjscommand:String="loadImage(1);"varlink:URLRequest=newURLRequest("javascript:"+jscommand+

javascript - 在 chai 中测试错误类型

这个问题在这里已经有了答案: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