草庐IT

node.js - 您如何安装和运行 Mocha,Node.js 测试模块?安装后获取 "mocha: command not found"

我无法获取Mocha可以按预期工作,我很乐意按照文档说明,但是(似乎)没有太多关于实际运行的文档。我已经使用npm安装了它(全局和本地),每次运行时我都会得到:$mochamocha:commandnotfound好的,所以我认为它不在我的PATH中,所以我尝试直接运行它,$./node_modules/mocha/bin/mochaexecvp():Nosuchfileordirectory最后,我尝试点击另一个bin文件,得到了,$./node_modules/mocha/bin/_mochapath.existsSyncisdeprecated.Itisnowcalled`fs.

node.js - 运行 mocha 测试时 Babel 意外 token 导入

其他相关问题中提供的解决方案,例如在.babelrc中包含正确的预设(es2015),已经在我的项目中实现。我有两个项目(我们称它们为A和B),它们都使用ES6模块语法。在项目A中,我正在导入通过npm安装并位于node_modules文件夹中的项目B。当我为项目A运行测试套件时,出现错误:SyntaxError:Unexpectedtokenimport前面是来自项目B的所谓错误代码行:(function(exports,require,module,__filename,__dirname){importcreateBrowserHistoryfrom'history/lib/cr

javascript - Mocha API 测试 : getting 'TypeError: app.address is not a function'

我的问题我编写了一个非常简单的CRUDAPI,并且我最近开始使用chai和chai-http编写一些测试,但是当我遇到问题时使用$mocha运行我的测试。当我运行测试时,我在shell上收到以下错误:TypeError:app.addressisnotafunction我的代码这是我的一个测试示例(/tests/server-test.js):varchai=require('chai');varmongoose=require('mongoose');varchaiHttp=require('chai-http');varserver=require('../server/app')

node.js - 使用 Visual Studio Code 的 Mocha 断点

是否可以使用VisualStudioCode向Mocha测试添加断点?通常在调试代码时,需要配置launch.json,将程序属性设置为Javascript文件执行。不过,我不确定如何为Mocha执行此操作。 最佳答案 您知道吗,您只需进入启动配置,将光标放在其他配置之后或之间,然后按ctrl-space即可获得自动生成当前有效的mocha配置?这对我来说非常好。包括在断点处停止。(我也有一个以前的,现在已经过时了,由于各种与设置相关的原因,它不再适用了。)从VSCode1.21.1(2018年3月)开始,这会产生:{"versio

javascript - 使用 Mocha 测试 javascript - 如何使用 console.log 调试测试?

我正在使用javascript测试运行器“Mocha”。我有一个测试失败,所以我想使用console.log对其进行调试。但是当测试运行时,没有输出(只有来自Mocha的测试结果)。似乎Mocha已经捕获并抑制了我的console.log输出!如何让Mocha显示我的输出?(对于失败的测试)?编辑:非常抱歉!—console.log在测试期间确实有效!我一定期待它会抑制输出,而且我没有正确检查自己的代码。感谢您的回复。所以...话虽这么说...也许抑制通过测试的输出实际上会很好?嗯……在相关说明中:我想使用console.log因为我在尝试让Eclipse调试器连接到node.js时遇

javascript - 使用 mocha/chai 进行测试时收到 UnhandledPromiseRejectionWarning

所以,我正在测试一个依赖于事件发射器的组件。为此,我想出了一个使用Promises和Mocha+Chai的解决方案:it('shouldtransitionwiththecorrectevent',(done)=>{constcFSM=newCharacterFSM({},emitter,transitions);lettimeout=null;letresolved=false;newPromise((resolve,reject)=>{emitter.once('action',resolve);emitter.emit('done',{});timeout=setTimeout(

javascript - 使用 Mocha 和 Node.js 对私有(private)函数进行单元测试

我正在使用Mocha为了对为Node.js编写的应用程序进行单元测试。我想知道是否可以对尚未在模块中导出的函数进行单元测试。示例:我在foobar.js中有很多这样定义的函数:functionprivate_foobar1(){...}functionprivate_foobar2(){...}还有一些导出为公共(public)的函数:exports.public_foobar3=function(){...}测试用例的结构如下:describe("private_foobar1",function(){it("shoulddostuff",function(done){varstuf

node.js - 如何使用 mocha 和 chai 正确测试 Promise?

以下测试表现异常:it('Shouldreturntheexchangeratesforbtc_ltc',function(done){varpair='btc_ltc';shapeshift.getRate(pair).then(function(data){expect(data.pair).to.equal(pair);expect(data.rate).to.have.length(400);done();}).catch(function(err){//thisshouldreallybe`.catch`forafailedrequest,but//insteaditlook

node.js - 在mocha测试中调用异步函数如何避免超时错误: timeout of 2000ms exceeded

在我的Node应用程序中,我使用mocha来测试我的代码。在使用mocha调用许多异步函数时,出现超时错误(Error:timeoutof2000msexceeded.)。我该如何解决这个问题?varmodule=require('../lib/myModule');varshould=require('chai').should();describe('TestingModule',function(){it('SaveData',function(done){this.timeout(15000);vardata={a:'aa',b:'bb'};module.save(data,f

unit-testing - 如何为 mocha 指定测试目录?

Mocha默认情况下尝试在test下查找测试文件,如何指定另一个目录,例如服务器测试? 最佳答案 使用这个:mochaserver-test或者,如果您有子目录,请使用:mocha"server-test/**/*.js"注意使用双引号。如果省略它们,您可能无法在子目录中运行测试。 关于unit-testing-如何为mocha指定测试目录?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest