当前位置: 首页 > 知识库问答 >
问题:

使用摩卡进行测试时超时[重复]

谭安翔
2023-03-14

我正在尝试使用mocha和mongoose编写一个测试用例。但我编写的以下代码片段在每个“hook:error:timeout of 2000ms extered.确保在此测试中调用了done()回调”之前都给出了错误“Todo”。我无法解决此问题。我是node的初学者。谁能在这个问题上帮我一下吗。提前谢谢。

 var Todo = require('../models/Todo'),
     should = require('Should');

    describe('Todo', function(){

      beforeEach(function(done){
        faketodo = {
          name    : 'xyz',
          completed     : true,
          note  : "This is test note"
        }
        Todo.remove(done);
      });

      describe('#save()', function(){
        var todo;

        beforeEach(function(done){

          console.log('before each todo entry');
          todo = new Todo(faketodo);
          console.log('before each todo exit');
          done();
        });


        it('should have name property', function(done){
          todo.save(function(err, todo){

            should.not.exist(err);
            todo.should.have.property('name', 'xyz');
            done();
          });
        });


        it('should not save if name is not present', function(done){
          todo.name = '';
          todo.save(function(err, todo){
            should.exist(err);
            should.not.exist(todo.name);
            done();
          });
        });
      });

    });

共有1个答案

祁霖
2023-03-14

我不知道你为什么要做Todo。删除(完成);如果你不回电话,为什么要把它放在第一位?

我会试着改变:Todo.remove(完成);

到:done()

希望有帮助。

 类似资料:
  • 我正在使用mocha和chai对AngularJS服务执行一些单元测试。该服务具有不同的功能,每个功能都返回一个promise。 我面临的问题是,测试不是在断言之前等待promise值得到解决。我知道做()回调可以用摩卡。所以,我试着用它。但这也给了我一个错误。这是代码: 因此,现在的问题是测试没有失败(它应该失败)。相反,它只是超时并给我一个错误:“超时超过2000ms。请确保在此测试中调用了d

  • 问题内容: 在我的节点应用程序中,我正在使用mocha测试我的代码。使用mocha调用许多异步函数时,出现超时错误()。我该如何解决? 问题答案: 您可以在运行测试时设置超时: 或者,您可以通过编程为每个套件或每个测试设置超时: 有关更多信息,请参阅文档。

  • 我目前在AWS中使用Gatling加载测试我的服务。我使用HTTP做了几次负载测试,我的服务工作得很好。没有TLS握手错误。当我们移动到HTTPS时,负载测试结果显示TLS握手超时异常到处都是,最后因为未处理的请求排队而抛出OOM。 其他信息: Gatling场景如下:发送三个请求,然后使用头发送一个请求。我想模拟发送三个保持活动状态的请求,并在最后关闭它 我的服务由Kubernetes管理 我所

  • 问题内容: 我正在尝试测试Express.js控制器,但是每隔一段时间我就会碰到mocha超时提示我的问题。 文档(https://mochajs.org/#working-with-promises) 我用Promises包装了Express控制器,以便随后可以在测试中将它们返回。 我有一个基本测试,可以运行以始终得到错误消息: 我得到的错误是: 我不明白为什么会出现错误,因为我正在返回确实解决

  • 我正在尝试从请求模块测试GET HTTP方法: 下面是我如何测试 部分的: 但是,我没有找到测试catch部分的方法(当它给出错误并且响应状态不是>=400)。 有什么建议吗? 它也将帮助我解决这个问题,一个简单的例子,另一个代码测试一个承诺的catch部分。

  • 我将使用托管进行实时测试,但我想保护访问并防止搜索引擎索引。例如(服务器目录结构)public_html: _private _bin _cnf _log _...(更多默认目录托管) testPublic css 图像 index.html < 我想index.html是可见的每个人和所有其他目录(除了testPublic)是隐藏的,受保护的访问和搜索引擎不索引。 目录"testPublic"我