草庐IT

node.js - 使用 mocha 运行 Node 检查器

我似乎无法调试mocha脚本。我可以像node--inspectscript.js这样使用检查器运行Node。然后这给了我一个url去调试,比如chrome-devtools://devtools/remote/...但是,当我将mocha与这一行mocha--inspecttest.js一起使用时,我无法调试。它说“调试器正在监听[::]:5858”。有什么方法可以让我使用Node的检查器调试mocha测试?转到localhost:5858会给我这个信息:Type:connectV8-Version:5.1.281.84Protocol-Version:1Embedding-Host

javascript - 如何在 mocha 中测试 Uncaught Error ?

我想测试以下函数是否按预期执行:functionthrowNextTick(error){process.nextTick(function(){throwerror;});}这是我的尝试:describe("throwNextTick",function(){it("worksasexpected",function(next){varerror=newError("boo!");varrecordedError=null;process.once("uncaughtException",function(error){recordedError=error;});throwNext

node.js - Mocha 断言失败导致超时

我开始使用NodeJS的mocha测试框架。成功断言工作正常,但如果断言失败,我的测试超时。为了断言我已经尝试过应该和期望。例如(异步代码)it('shouldcreatenewuser',function(done){userService.create(user).then(function(model){expect(model.id).to.be(1);//createduserIDdone();},done)});这里如果模型id不是1则测试超时而不是报告失败的断言。我确定我做错了什么。感谢你的帮助。谢谢! 最佳答案 Sh

node.js - 使用 Mocha/Chai 和 async/await 验证是否引发了异常

我正在努力寻找在使用async/await时验证promise在Mocha测试中被拒绝的最佳方法。这是一个可行的示例,但我不喜欢should.be.rejectedWith返回一个需要从测试函数返回才能正确评估的promise。使用async/await消除了测试值的这种要求(就像我对下面wins()的结果所做的那样),我觉得我很可能会在某个时候忘记return语句,在在这种情况下测试将始终通过。//Alwayssucceedsfunctionwins(){returnnewPromise(function(resolve,reject){resolve('Winner');});}/

node.js - 测试 Mocha 中的预期失败

使用Mocha,我试图测试构造函数是否抛出错误。我无法使用expect语法做到这一点,所以我想做以下事情:it('shouldthrowexceptionwheninstantiated',function(){try{newErrorThrowingObject();//Forcethetesttofailsinceerrorwasn'tthrown}catch(error){//ConstructorthrewError,sotestsucceeded.}}这可能吗? 最佳答案 应该.js使用should.jsshould.fa

node.js - 如何使用数据在 mocha 中编写发布请求测试以测试响应是否匹配?

问题:我如何在mocha中编写一个发布请求测试来测试响应是否匹配?响应将只是一个url字符串,因为它是3rd方服务的重定向。工作示例负载:curl-H"Content-Type:application/json"-XPOST-d'{"participant":{"nuid":"98ASDF988SDF89SDF89989SDF9898"}}'http://localhost:9000/api/membersmember.controller.js//发布方法//CreatesanewmemberintheDB.exports.create=function(req,res){Membe

node.js - 使用 mocha 设置/拆卸 express.js 应用程序

我正在尝试使用mocha创建一个独立的测试套件,在完美的世界中,它将启动我的express.js应用程序,使用zombie来呈现页面,检查一堆东西,然后拆除/杀死express。.js应用程序。有没有简单/最好的方法来做到这一点?注意。我可以在运行测试之前运行express应用程序服务器,但是如果你不打算刮牦牛,那有什么用呢。 最佳答案 首先,您需要将您的实际应用设置移动到一个模块中,并将其导入到实际启动您的应用的文件中。现在这是分开的,您可以在实际收听之前让应用程序处于完整状态。你应该将你的应用程序的实际设置移动到一个单独的文件中

node.js - Mocha 和 zombie JS

我正在启动一个nodejs项目,并想用Mocha和Zombiejs做BDD。不幸的是,我对这句话中的每个流行词都不熟悉。我可以让Mocha和Zombiejs很好地运行测试,但我似乎无法将两者集成-是否可以使用Mocha来运行Zombiejs测试,如果可以,那看起来如何?只是寻找“helloworld”来帮助我入门,但教程/示例会更好。谢谢! 最佳答案 假设您已经安装了mocha,zombie和expect.js根据说明,这应该适合您://Putbelowinafileinyour*test*folder,ie:test/sample

node.js - 如何使用 Node、Mocha 获取代码覆盖率信息

我最近开始在Mocha的帮助下对我的Node项目进行单元测试。到目前为止一切进展顺利,我发现我的代码已经有了显着改进,因为我正在考虑在我的测试中涵盖的所有角度。现在,我想与团队的其他成员分享我的经验,并让他们进行自己的测试。我想分享的部分信息是我的代码实际上被覆盖了多少。以下是我的应用程序结构示例,我已将其分成不同的组件或模块。为了促进重用,我试图将所有依赖项保持在最低限度并与组件文件夹隔离。这包括保持测试隔离,而不是项目根目录中的默认test/文件夹。|app/|-component/|--index.js|--test/|----index.js目前我的package.json看起

node.js - 使用 mocha-phantomjs 自动化功能测试

我的项目正在使用:Node、Coffeescript、SocketIO、Browserify和Mocha。(用于标准服务器端单元测试的mocha)我想使用headless浏览器自动执行一些客户端界面测试。PhantomJS看起来是一个理想的选择(由于Web套接字支持而不是Zombie)。PhantomJS页面警告它不是测试运行器,我理解,他们建议使用mocha-phantomjs项目来插入您的测试。所以我已经能够运行示例测试(例如mocha-phantomjstests/mixed.html),但我当前的问题实际上是在测试中使用PHANTOM。mocha-phantomjsrepo中的