代码之家  ›  专栏  ›  技术社区  ›  Dimitrios Desyllas

抽头测试超时

  •  0
  • Dimitrios Desyllas  · 技术社区  · 6 年前

    我尝试执行Diffie-Hellman密钥协议:

    Test.test('testDh', (t) => {
      const k1 = createSelfKey();
      const k2 = createSelfKey(k1.dh.getPrime(), k1.dh.getGenerator());
    
      const k1Secret = k1.dh.computeSecret(k2.keys);
      const k2Secret = k2.dh.computeSecret(k1.keys);
    
      t.equal(k1Secret.toString('hex'), k2Secret.toString('hex'));
      t.end();
    });
    

    使用以下功能:

    const createSelfKey = (p, g) => {
      let returnVal = null;
      if (_.isNumber(p) && _.isNumber(g)) {
        returnVal = { dh: crypto.createDiffieHellman(p, g) };
      } else {
        returnVal = { dh: crypto.createDiffieHellman(2048) };
      }
      returnVal.keys = returnVal.dh.generateKeys();
      return returnVal;
    };
    

    但出于某种原因,测试超时了。你知道我如何提高超时限制吗?

    test/keygenTests.js ................................... 1/2 31s
      not ok timeout!
        expired: test/keygenTests.js
    
    test/participantTest.js ............................... 1/1
    total ................................................. 2/3
    
    
      2 passing (31s)
      1 failing
    
    npm ERR! Test failed.  See above for more details.
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Dimitrios Desyllas    6 年前

    您可以通过修改 package.json 这样的脚本:

     "scripts": {
        //Other scripts do there
        "test": "tap --no-timeout test/*.js",
      },
    

    如您所见,您可以传递参数 --no-timeout 为了让你的测试一点也不超时,有用的测试计算重的代码。

    推荐文章