我开始使用NodeJS的mocha测试框架。成功断言工作正常,但如果断言失败,我的测试超时。为了断言我已经尝试过应该和期望。例如(异步代码)it('shouldcreatenewuser',function(done){userService.create(user).then(function(model){expect(model.id).to.be(1);//createduserIDdone();},done)});这里如果模型id不是1则测试超时而不是报告失败的断言。我确定我做错了什么。感谢你的帮助。谢谢! 最佳答案 Sh
我正在努力寻找在使用async/await时验证promise在Mocha测试中被拒绝的最佳方法。这是一个可行的示例,但我不喜欢should.be.rejectedWith返回一个需要从测试函数返回才能正确评估的promise。使用async/await消除了测试值的这种要求(就像我对下面wins()的结果所做的那样),我觉得我很可能会在某个时候忘记return语句,在在这种情况下测试将始终通过。//Alwayssucceedsfunctionwins(){returnnewPromise(function(resolve,reject){resolve('Winner');});}/
使用Mocha,我试图测试构造函数是否抛出错误。我无法使用expect语法做到这一点,所以我想做以下事情:it('shouldthrowexceptionwheninstantiated',function(){try{newErrorThrowingObject();//Forcethetesttofailsinceerrorwasn'tthrown}catch(error){//ConstructorthrewError,sotestsucceeded.}}这可能吗? 最佳答案 应该.js使用should.jsshould.fa
问题:我如何在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
我正在尝试使用mocha创建一个独立的测试套件,在完美的世界中,它将启动我的express.js应用程序,使用zombie来呈现页面,检查一堆东西,然后拆除/杀死express。.js应用程序。有没有简单/最好的方法来做到这一点?注意。我可以在运行测试之前运行express应用程序服务器,但是如果你不打算刮牦牛,那有什么用呢。 最佳答案 首先,您需要将您的实际应用设置移动到一个模块中,并将其导入到实际启动您的应用的文件中。现在这是分开的,您可以在实际收听之前让应用程序处于完整状态。你应该将你的应用程序的实际设置移动到一个单独的文件中
我们正在设置TeamCity以使用Node和karma运行我们的jasmine测试。测试运行良好,结果报告在TeamCity的“测试”选项卡下。但是,我们希望在TeamCity中报告代码覆盖率(甚至在关卡上设置构建失败条件)。我已经安装了karma-coverage模块npminstallkarma-coverage--save-dev并尝试通过添加在karma.conf.js中配置它preprocessors:{'myProject/Scripts/app/**/*.js':'coverage'},reporters:['progress','coverage'],运行karma时,
我不得不迁移到最新的Angular版本。在那之后,karma测试停止工作,并继续显示错误日志:1404201814:17:00.453:ERROR[preprocess]:Cannotload"@angular-devkit/build-angular",itisnotregistered!Perhapsyouaremissingsomeplugin?...\parkandrest-ui\node_modules\@angular-devkit\build-angular\src\angular-cli-files\plugins\packages\angular_devkit\bui
我正在启动一个nodejs项目,并想用Mocha和Zombiejs做BDD。不幸的是,我对这句话中的每个流行词都不熟悉。我可以让Mocha和Zombiejs很好地运行测试,但我似乎无法将两者集成-是否可以使用Mocha来运行Zombiejs测试,如果可以,那看起来如何?只是寻找“helloworld”来帮助我入门,但教程/示例会更好。谢谢! 最佳答案 假设您已经安装了mocha,zombie和expect.js根据说明,这应该适合您://Putbelowinafileinyour*test*folder,ie:test/sample
我最近开始在Mocha的帮助下对我的Node项目进行单元测试。到目前为止一切进展顺利,我发现我的代码已经有了显着改进,因为我正在考虑在我的测试中涵盖的所有角度。现在,我想与团队的其他成员分享我的经验,并让他们进行自己的测试。我想分享的部分信息是我的代码实际上被覆盖了多少。以下是我的应用程序结构示例,我已将其分成不同的组件或模块。为了促进重用,我试图将所有依赖项保持在最低限度并与组件文件夹隔离。这包括保持测试隔离,而不是项目根目录中的默认test/文件夹。|app/|-component/|--index.js|--test/|----index.js目前我的package.json看起
我的项目正在使用:Node、Coffeescript、SocketIO、Browserify和Mocha。(用于标准服务器端单元测试的mocha)我想使用headless浏览器自动执行一些客户端界面测试。PhantomJS看起来是一个理想的选择(由于Web套接字支持而不是Zombie)。PhantomJS页面警告它不是测试运行器,我理解,他们建议使用mocha-phantomjs项目来插入您的测试。所以我已经能够运行示例测试(例如mocha-phantomjstests/mixed.html),但我当前的问题实际上是在测试中使用PHANTOM。mocha-phantomjsrepo中的