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

如何在mocha中增加单个测试用例的超时

王棋
2023-03-14

我在测试用例中提交了一个网络请求,但这有时需要超过2秒(默认超时)。

如何增加单个测试用例的超时?

共有3个答案

东云
2023-03-14

(自从我今天遇到这个)

使用ES2015 fat arrow语法时要小心:

这将失败:

it('accesses the network', done => {

  this.timeout(500); // will not work

  // *this* binding refers to parent function scope in fat arrow functions!
  // i.e. the *this* object of the describe function

  done();
});

编辑:为什么失败:

正如@atoth在评论中提到的,胖箭头函数没有自己的此绑定。因此,it函数不可能绑定到回调函数的这一部分并提供超时函数。

底线:对于需要增加超时的函数,不要使用箭头函数。

慕鹏
2023-03-14

如果希望使用es6箭头函数,可以添加。超时(毫秒)it定义的末尾:

it('should not timeout', (done) => {
    doLongThing().then(() => {
        done();
    });
}).timeout(5000);

至少这在打字稿中是有效的。

吕皓
2023-03-14

干得好:http://mochajs.org/#test-水平仪

it('accesses the network', function(done){
  this.timeout(500);
  [Put network code here, with done() in the callback]
})

对于箭头功能,请按如下方式使用:

it('accesses the network', (done) => {
  [Put network code here, with done() in the callback]
}).timeout(500);
 类似资料:
  • 目标 建立一个 lesson6 项目,在其中编写代码。 main.js: 其中有个 fibonacci 函数。fibonacci 的介绍见:http://en.wikipedia.org/wiki/Fibonacci_number 。 此函数的定义为 int fibonacci(int n) 当 n === 0 时,返回 0;n === 1时,返回 1; n > 1 时,返回 fibonacci(

  • 问题内容: 我有两个包含摩卡测试案例的javascript文件。 我将它们放在一个文件夹中,当我执行命令时,第一个文件(abc.js)总是在xyz.js之前执行。我认为这可能是由于字母顺序造成的,并将文件重命名为 但是仍然首先执行xyz.js(以前是abc.js)的内容。如何更改这些测试文件的执行顺序? 问题答案: Mocha有一个(short )选项可以对测试文件进行排序:

  • 问题内容: 我正在使用JavaScript测试运行程序“摩卡”。 我的测试失败了,因此我将使用进行调试。 但是运行测试时,没有输出(仅来自Mocha的测试结果)。看来Mocha已捕获并抑制了我的输出! 如何让Mocha显示输出?(对于失败的测试)? 编辑: 抱歉!- 在测试期间可以正常工作!我肯定一直期望它抑制输出,而且我没有正确检查自己的代码。感谢您的回应。所以…话虽如此…也许抑制通过测试的输出

  • 要运行Mocha的测试,您需要GNU Make或兼容; Cygwin应该工作。 $ cd /path/to/mocha $ npm install $ npm test 要使用其他记者: $ REPORTER=nyan npm test

  • 问题内容: 我有一个基于Express.js构建的应用程序,我想测试文件上传功能。我正在尝试重现解析为req.files的对象(使用express.bodyParser中间件时)。我怎样才能做到这一点? 问题答案: 您可以直接在Mocha中执行此操作,但这有点棘手。这是发布图像的示例: Content-Disposition 的 name 参数是通过req.files(以req.files.ima

  • 问题内容: 我只有很少的节点包可以在node.js环境和浏览器中使用。现在,我有两个单独的测试(针对每个环境)。用just 命令运行这些测试的最佳方法是什么?我也想将这些包添加到travis。 我正在使用和。 节点测试命令 浏览器测试命令 我试过的 将这些命令添加到以分号分隔的脚本中 问题: 当第一个脚本中有错误但第二个脚本中没有错误时,命令以0退出,并通过了travis build。 让node