草庐IT

Karma-mocha

全部标签

node.js - 变量范围在 Mocha 测试框架中是如何工作的?

我是javascript、node.js、mocha等所有东西的相对新手。在我的代码中,我有一个Unit对象,它有一个将disabled属性设置为true的disable()和一个返回disabled属性的isDisabled()。它还有一个方法nextTurnReset()可以在下一回合开始时重置单位。我已经编写了一个测试套件来测试这种行为。我首先禁用该对象,然后尝试测试它是否被禁用。然而,我的第一个测试中的单元变量——在传递给Mocha的it()方法的匿名函数中——处于非禁用状态,正如我在Node的调试器中观察到的那样。describe('#disable()',function(

node.js - 变量范围在 Mocha 测试框架中是如何工作的?

我是javascript、node.js、mocha等所有东西的相对新手。在我的代码中,我有一个Unit对象,它有一个将disabled属性设置为true的disable()和一个返回disabled属性的isDisabled()。它还有一个方法nextTurnReset()可以在下一回合开始时重置单位。我已经编写了一个测试套件来测试这种行为。我首先禁用该对象,然后尝试测试它是否被禁用。然而,我的第一个测试中的单元变量——在传递给Mocha的it()方法的匿名函数中——处于非禁用状态,正如我在Node的调试器中观察到的那样。describe('#disable()',function(

javascript - Mocha 测试的 Istanbul 尔代码覆盖率

我正在努力让Istanbul尔开始工作。我在运行istanbul结束时不断收到此消息:Nocoverageinformationwascollected,exitwithoutwritingcoverageinformation如您所见,我已经尝试了所有可以在网上找到的方法:"scripts":{"start":"node./bin/start.js","test":"mochatest--no-timeouts","debug_mocha":"node-debug--no-timeouts_mocha","eslint":"eslint.","jshint":"jshint--exc

javascript - Mocha 测试的 Istanbul 尔代码覆盖率

我正在努力让Istanbul尔开始工作。我在运行istanbul结束时不断收到此消息:Nocoverageinformationwascollected,exitwithoutwritingcoverageinformation如您所见,我已经尝试了所有可以在网上找到的方法:"scripts":{"start":"node./bin/start.js","test":"mochatest--no-timeouts","debug_mocha":"node-debug--no-timeouts_mocha","eslint":"eslint.","jshint":"jshint--exc

node.js - 如何在 Mocha 中故意使空占位符测试失败?

我正在用NodeJS编写API,并使用Mocha、Chai和SuperTest进行测试。我正在使用一种典型的测试驱动方法,首先编写测试,然后用工作代码满足这些测试。然而,由于所有不同排列的测试数量,我已经开始编写空占位符测试,以便我有所有it('should...')描述来提醒我当我使用该功能时要测试什么。例如:it'shouldnotretrievedocumentswithoutanauthorizeduser',(done)->done()问题是done()在没有任何断言的情况下被调用,所以测试被认为通过了,所以我添加了以下断言。false.should.equaltrue#fo

node.js - 如何在 Mocha 中故意使空占位符测试失败?

我正在用NodeJS编写API,并使用Mocha、Chai和SuperTest进行测试。我正在使用一种典型的测试驱动方法,首先编写测试,然后用工作代码满足这些测试。然而,由于所有不同排列的测试数量,我已经开始编写空占位符测试,以便我有所有it('should...')描述来提醒我当我使用该功能时要测试什么。例如:it'shouldnotretrievedocumentswithoutanauthorizeduser',(done)->done()问题是done()在没有任何断言的情况下被调用,所以测试被认为通过了,所以我添加了以下断言。false.should.equaltrue#fo

node.js - 在 mocha 的 afterEach 函数中获取测试名称

首先让我说我对node.js和mocha很陌生。这让我很头疼。我开始使用tdd方法,我试图从beforeEach和afterEach函数中开始或刚刚完成的测试,但我没有运气。(我最感兴趣的是afterEach)。至少我想不出一个巧妙的方法来做到这一点。我唯一能想到的是将测试和套件保存在一个变量中,然后在afterEach()上进行一些匹配以查看哪个测试已完成。理想情况下,它说“测试名称”我想要像suite.test.name这样的东西suite('mytestsuite',function(){beforeEach(function(){console.log('testname');

node.js - 在 mocha 的 afterEach 函数中获取测试名称

首先让我说我对node.js和mocha很陌生。这让我很头疼。我开始使用tdd方法,我试图从beforeEach和afterEach函数中开始或刚刚完成的测试,但我没有运气。(我最感兴趣的是afterEach)。至少我想不出一个巧妙的方法来做到这一点。我唯一能想到的是将测试和套件保存在一个变量中,然后在afterEach()上进行一些匹配以查看哪个测试已完成。理想情况下,它说“测试名称”我想要像suite.test.name这样的东西suite('mytestsuite',function(){beforeEach(function(){console.log('testname');

node.js - 确保 Express 应用程序在每次 Mocha 测试之前运行

我正在使用ExpressJS、NodeJS、Mongoose和Mocha开发RESTAPI。问题是我有一个app.coffee文件,它负责设置ExpressJS并连接到Mongoose。我设置的方式是先连接Mongoose,如果连接成功,则启动ExpressJS应用程序。问题是在设置Mocha时,我需要确保app.coffee中存在的ExpressJS应用程序在执行任何测试用例之前完全启动成功,包括所有异步代码。为此,我创建了一个test_helper.coffee并将以下代码放入其中,但是,即使app.coffee中的代码尚未完全执行,测试用例也会开始执行,这实际上是有意义的:bef

node.js - 确保 Express 应用程序在每次 Mocha 测试之前运行

我正在使用ExpressJS、NodeJS、Mongoose和Mocha开发RESTAPI。问题是我有一个app.coffee文件,它负责设置ExpressJS并连接到Mongoose。我设置的方式是先连接Mongoose,如果连接成功,则启动ExpressJS应用程序。问题是在设置Mocha时,我需要确保app.coffee中存在的ExpressJS应用程序在执行任何测试用例之前完全启动成功,包括所有异步代码。为此,我创建了一个test_helper.coffee并将以下代码放入其中,但是,即使app.coffee中的代码尚未完全执行,测试用例也会开始执行,这实际上是有意义的:bef