如何解决jest.js

时间:2019-04-28 17:17:59

标签: jestjs

我有很多全局对象,并且说一个要测试的函数,但是当我运行npm test时,我得到了 在对象。 (index.js:2:1) 在对象。 (index.test.js:1:1) 这个错误 此错误指向对象“。”的gblob.aobj = {}; 为简单起见,我创建了index.js和index.test.js文件,这是jest.js的新功能

注意:我正在SPA上工作:在另一个js中创建此变量的单页应用程序

index.js

    gblob.aobj={};
    function sum(a, b) {
    return a + b;
    }
    module.exports = sum;

“”“ “” index.test.js

   const sum = require('./index');

   test('adds 1 + 2 to equal 3', () => {
   expect(a.hy()).toBe(3);
   });

“”“ “” package.json,如果我需要在此处添加一些内容

    {
     "name": "my-app",
     "version": "1.0.0",
     "description": "",
     "main": "index.js",
     "scripts": {
     "test": "jest"
   },
    " author": "",
   "license": "ISC",
   "devDependencies": {
   "jest": "^24.7.1"
  }
  }

“”“

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,则表示您的测试失败,因为运行gblob时全局index.js不存在。

您可以通过使用节点的global创建全局gblob来解决此问题。

如果在测试开始时创建global.gblob,则在您的代码运行时它将可用:

index.test.js

global.gblob = {};  // <= create the global "gblob"

const sum = require('./index');  // <= now require index.js

test('adds 1 + 2 to equal 3', () => {
  // ...
});