草庐IT

javascript - chai 没有在 Karma-mocha 中定义

我正在使用mocha-phantomjs配置成功运行我的测试用例。现在我正在使用Karma启动器运行这些测试。但我遇到了问题Chaiisnotdefined。这是我的配置文件。module.exports=function(config){config.set({client:{mocha:{ui:'tdd'}},basePath:'',frameworks:['mocha'],files:['web/js/*.js','test/lib/*.js','node_modules/chai/chai.js'//addedthisonsuggestionoftheanswerinstack

javascript - 如何使用 mocha/chai/chai-as-promised 测试 ES7 异步函数

我有以下功能要测试://...constlocal=newWeakMap();exportdefaultclassUser{//...asyncpassword(password){if(!password)returnlocal.get(this).get('hash');//removethisforsecurityreasons!if(password.length现在我想用mocha测试这个函数,chai和chai-as-promised做这个测试用例:importchaifrom'chai';importchaiAsPromisedfrom'chai-as-promised'

javascript - 诗乃找不到方法 'spy'

我正在努力攀登将require.js/mocha/chai/sinon与Backbone应用程序结合使用的学习曲线。当我运行thistest:define(["chai","sinon"],function(chai,sinon){varexpect=chai.expect;describe("Tryingoutthetestlibraries",function(){describe("Chai",function(){it("shouldbeequalusing'expect'",function(){expect(hello()).to.equal("HelloWorld");}

javascript - 使用 Chai 检查数组中的所有元素

在使用Mocha和Chai进行测试时,我经常需要测试数组中的所有元素是否都满足条件。目前我正在使用如下内容:varpredicate=function(el){returnelinstanceofNumber;};it('Shouldbeanarrayofnumbers',function(){varsuccess,a=[1,2,3];success=a.every(predicate);expect(success).to.equal(true);});浏览docs,我无法立即看到任何提供这种行为的东西。我是否遗漏了什么,或者我必须编写一个插件来扩展chai吗?

javascript - Mocha/Chai 测试预期与实际对象数组

当两者都是对象数组时,断言预期结果与实际结果相匹配的最佳方法是什么?我的直接想法是使用Array原型(prototype)过滤器并检查交集是否与预期的大小相同,即:describe('select',function(){it("shouldreturnselectedcolumns",function(done){varquery="selectlunchTime,name";varactual=...resultsofthequery,anarrayofanonymousobjects...//expectedresultsvarexpected=[{"lunchTime":"12

javascript - 为什么我的 mocha/chai Error throw 测试失败了?

我有一个要测试的简单javascript包。我想检查是否抛出了错误,但是当我的测试运行并抛出错误时,测试被标记为失败。代码如下:varshould=require('chai').should(),expect=require('chai').expect();describe('#myTestSuite',function(){it('shouldcheckforTypeErrors',function(){//Pulledstraightfromthe'throw'sectionof//http://chaijs.com/api/bdd/varerr=newReferenceErr

javascript - Chai deep 包含对嵌套对象的断言

我试图断言一个对象包含另一个对象(即不能使用deepequal),但似乎严格检查了嵌套对象。代码示例:describe('Meta',function(){it('objectshouldcontainsaclonedcopy',function(){varobj={a:1,b:'2',c:{a:2,b:'2'}};returnexpect(obj).deep.contains(JSON.parse(JSON.stringify(obj)));});});错误信息:AssertionError:expected{a:1,b:'2',c:{a:2,b:'2'}}tohaveaproper

javascript - 使用固定装置的 Ember.js/Rails 集成测试

我正在尝试为我的ember.jsrails应用程序设置一个测试环境,并决定使用Konacha和mocha和chai。我目前遇到的最大问题是在测试环境中为我的ember模型设置fixtures。如果你实现了这个,你们中的任何人都能够解释你的文件结构和设置吗?有一些网站对其进行了非常简要的解释,但我更希望有一个更清晰的解释。 最佳答案 首先,一些注释可以帮助您澄清这一点并获得您正在寻找的答案。Railsfixtures和Ember.jsfixtures完全没有关系,Rails与它几乎没有关系。Ember.jsfixtures可以在您的测

javascript - 测试对象是否具有多个属性

我在检查这个对象时遇到问题,我需要做些什么来链接多个.to.have.property语句吗?我相信我只是将上一个.to.have.property的结果返回到下一个。expect(shopify.formatRequestOptions("shop")).to.have.property('url',"https://"+settings.shop+"/admin/shop.json").to.have.property('method',"GET").to.have.deep.property('headers.X-Shopify-Access-Token',settings.ac

javascript - 测试未导出的 TypeScript 函数

我使用Mocha/Chai测试JavaScript前端代码,现在我们切换到TypeScript。我有几个要测试的功能。但它们不应该是可导出的。我可以在不向它们添加export的情况下访问此函数并对其进行测试吗? 最佳答案 无法访问未导出的模块函数。moduleMyModule{functionprivateFunction(){alert("privateFunction");}}MyModule.privateFunction();//Generatesacompilererror但是,撇开私有(private)​​方法测试的有效