Articles of 摩卡

如何在node.js的正常closures过程中编写testing来检查行为?

有一个我的优雅关机的例子: function stopHandler() { logger.info(`Stopping server on port ${settings.port} with pid ${process.pid} started`); server.close(() => { logger.info(`Server on port ${settings.port} with pid ${process.pid} stopped`); process.exit(); }); setTimeout(() => { logger.info(`Server on port ${settings.port} with pid ${process.pid} stop forcefully`); process.exit(); }, settings.stopTimeout); }; process.on("SIGTERM", stopHandler); process.on("SIGINT", stopHandler); 我怎样才能用摩卡testing这个代码?

期望断言types错误 – >期望(…).toExist不是一个函数

我正在testing一个nodejs应用程序。 当我运行testing时发现这个错误。 testing脚本如下: .expect( (res) => { expect(res.headers['x-auth']).toExist(); expect(res.body._id).toExist(); expect(res.body.email).toBe(email); }) 错误显示: TypeError: expect(…).toExist is not a function 我该如何解决这个问题? TIA。

MakeFile使用NPM运行Mochatesting

我正在尝试创build一个MakeFile来运行与NPM的摩卡unit testing。 所以我安装了摩卡,并在下面创build了一个unit testing: {} project_root /test/test.js 现在,当我尝试“做testing”与答复: make:“testing”没有什么可做的。 这是我的MakeFile: test: @./node_modules/.bin/mocha -u tdd .PHONY: test 所以真正的基本。 我读过摩卡将自动运行“testing”目录中的所有testing。 我的MakeFile语法不正确吗? 谢谢!

如何使用mocha和supertesttesting头部参数的快速restapi?

我必须testing我的restapi。 某些路由在用户身份validation令牌的http请求标头中需要一个值。 我已经在纯JavaScript代码中分离了我的有趣业务逻辑,但是我找不到在http请求头中testing需要令牌的路由的方法。 欢迎任何其他摩卡和/或超级食品的替代品。

Mocha-phantomjstesting没有输出

我已经在这里成功安装了节点模块“mocha-phantomjs”。 我写了下面的testing用例: test1.js describe("DOM Tests", function () { var el = document.createElement("div"); el.id = "myDiv"; el.innerHTML = "Hi there!"; el.style.background = "#ccc"; document.body.appendChild(el); var myEl = document.getElementById('myDiv'); it("is in the DOM", function () { expect(myEl).to.equal(null); }); it("is a child of the body", function () { expect(myEl.parentElement).to.equal(document.body); }); it("has the right text", function () { expect(myEl.innerHTML).to.equal("Hi […]

为什么摩卡需要在devDependencies中?

就这一点而言,摩卡在devDependencies中像教程所说的那样足够合乎逻辑,毕竟它是一个dev的依赖。 但实际上,你安装它,所以你可以运行摩卡作为一个命令。 而且据我所知,在package.json中提到这一点是没有什么区别的。 那么有没有必要明确列出它?

如何像可选的asynchronouscallback实现摩卡?

我想实现可选的asynchronouscallback与摩卡一样。 我的意思是我想要有可以是同步和asynchronous的callback函数。 当用户使用可选的callback参数“完成”时,它是asynchronous的,当没有callback参数比同步。 //同步版本 它('做一些同步',function(){ console.log('这是同步版本') }); //asynchronous版本 它('做一些asynchronous,function(完成){ setTimeout(function(){ 完成(真); },1000); }); 怎样才能区分callback是同步还是asynchronous呢? 任何想法如何实现这一点?

用mocha.jstestingCLI应用程序

我想testingCLI应用程序,并希望在testing运行时接收用户input,因为mocha.js具有200ms限制testing失败。 所以我想知道如何在脚本获得input时暂停testing,并在获得input后恢复。

如何在摩卡testing中模拟无连接

我只是想知道是否有办法在摩卡unit testing中模拟“无连接”事件。 我有一个方法,返回一个承诺,应该等待与轮询策略的互联网连接,我想用摩卡testing。 有一种方法可以实现这样的结果。 一些代码: it('should wait for connection', function(done) { this.timeout(2500); //simulate an internet connection drop here wait.connection().then(done); setTimeout(//activate connection, 2000); }); 谢谢你的回应。 [编辑]:这里有我想testing的代码: var wait = { connection: function() { 'use strict'; var settings = {retry: 1000}; return new Promise(function(resolve) { (function poll() { needle.get('https://api.ipify.org', function(error, response) { if(!error && response.statusCode === 200 […]

伊斯坦布尔与摩卡,nodejs总是给出相同的覆盖面

我已经安装了istanbul来检查节点中的apis的代码覆盖率。 如果testing覆盖率不正确,我会觉得很困惑。 我有一个目录结构为-app包含-api -controllers -models -test -api_test.js 运行istanbul cover _mocha运行istanbul cover _mocha所有testing用例,并将覆盖范围返回为语句:46.55%(27/58)分支:0%(0/18)函数:0%(0/13)行:48.21%( 27/56) 但是后来我删除了一堆testing用例,重新运行伊斯坦布尔仍然覆盖stantics是一样的。 根据我对这个工具的理解,我应该根据我的testing用例的所有代码行数来给我统计,因为在我运行较less的testing时,技术上应该降低testing覆盖率。 此外,我的报告的HTML只包含一些模型(甚至不是所有的)的覆盖率统计所以这增加了困惑是否我configuration了testing套件和伊斯坦布尔是否正确。 任何帮助将不胜感激,因为我是相当新的节点。