Tag: 摩卡

全球`之前`和`beforeEach`为摩卡?

我现在正在使用摩卡进行javascriptunit testing。 我有几个testing文件,每个文件都有一个before和beforeEach ,但是它们是完全一样的。 我如何before所有人(或其中的一些人) before和before提供一个全球性的?

如何用RSpec / RoRtestingAJAX请求?

我对RoR相当陌生,最近开始学习BDD / Rspec来testing我的应用程序。 我一直在寻找一种方法来规范一个AJAX请求,但到目前为止我还没有find很多关于这方面的文档。 有人知道怎么做吗? 我使用rails 2.3.8,rspec 1.3.0和mocha 0.9.8作为我的存根(我也正在学习…)

testing摩卡抛出的错误

我希望能find这个问题的一些帮助。 我正在为我正在编写的应用程序编写testing。 我已经将问题提炼成以下示例代码。 我想testing一个错误被抛出。 我使用了Testacular作为testing运行者,将mocha作为框架,将chai作为断言库。 testing运行,但testing失败,因为错误被抛出! 任何帮助是极大的赞赏! function iThrowError() { throw new Error("Error thrown"); } var assert = chai.assert, expect = chai.expect; describe('The app', function() { describe('this feature', function() { it("is a function", function(){ assert.throw(iThrowError(), Error, "Error thrown"); }); }); });

mocha before()中的asynchronous函数在it()spec之前完成了吗?

before()有一个callback函数,用于清理数据库。 before()所有内容都保证在it()开始之前完成? before(function(){ db.collection('user').remove({}, function(res){}); // is it guaranteed to finish before it()? }); it('test spec', function(done){ // do the test }); after(function(){ });

用mocha.jsjoin多个文件的testing

我试图从一个文件中的多个文件中join所有的testing,如下所示: describe('Controllers', function() { describe('messages.js', function() { require('./controllertests/messages').test(options); }) describe('users.js', function() { require('./controllertests/users').test(options); }) }) 我很确定这不是jointesting的最好方法,我有一些难题find如何做到这一点的例子:

摩卡testing与额外的选项或参数

我正在为使用Mocha的Node.js应用程序编写testing用例。 testing用例需要一个API密钥作为额外的input选项或参数。 API密钥是私有的,所以我不想将它直接包含在testing文件中,因为每个人都可以在GitHub上看到它。 我知道有一些select可用于摩卡: http://mochajs.org/#usage 但是是否可以包含一些参数让testing人员在命令行中为testing指定自己的API密钥? 如: ./node_modules/mocha/bin/mocha test/*.js –key YOUR_KEY

用MochatestingJavascript中assert.equal和assert.deepEqual的区别?

我正在使用Mocha在我的Express.js应用程序中testing一个小模块。 在这个模块中,我的一个函数返回一个数组。 我想testing一个给定的input数组是否正确。 我这样做是这样的: suite('getWords', function(){ test("getWords should return list of numbers", function() { var result = ['555', '867', '5309']; assert.equal(result, getWords('555-867-5309')); }); }); 当这运行时,我得到以下断言错误: AssertionError: ["555","867","5309"] == ["555","867","5309"] 但是,当我将testing更改为assert.deepEqual ,testing通过正常。 我想知道如果这是== vs === ,但如果我input [1,2,3] === [1,2,3] 进入node.js命令行,我仍然得到错误。 为什么数组不能比较其他值的方式(例如1 == 1 )? assert.equal和assert.deepEqual有什么区别?

用mocha的–debug-brk开关启用节点debugging器的正确方法是什么?

我在我的testing模块中有一些debugging器语句,并希望与–debug-brk集合运行摩卡,并打我的断点,以便我可以检查我的模块的状态。 不幸的是,每当我用这个选项运行摩卡,我最后在下一行的空白光标。 我可以input文本,但没有任何东西可以处理我的命令(它看起来不像节点debugging器): $ mocha –debug-brk tests.js -R spec debugger listening on port 5858 [BLANK CURSOR] 我在做摩卡咖啡的时候做错了什么?

`before()`和`beforeEach()`有什么区别?

Mocha before()和beforeEach()之间的区别是什么? ( after()和afterEach()相同的问题。) 我假设before()每个describe()块运行一次,而beforeEach()每个testing( it() block)运行一次。 真的吗? 而我什么时候会select使用一个呢?

如何以编程方式跳过摩卡testing?

我有一个代码,在CI环境下某些testing总是失败。 我想根据环境条件禁用它们。 如何以编程方式在运行时执行期间跳过mocha中的testing?