首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在jest.js中解决此"at Object.<anonymous>“错误

如何在jest.js中解决此"at Object.<anonymous>“错误
EN

Stack Overflow用户
提问于 2019-04-29 01:17:59
回答 1查看 2.6K关注 0票数 0

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

注意:我正在使用SPA:单页应用程序,其中这个变量是在另一个js中创建的

index.js

代码语言:javascript
复制
    gblob.aobj={};
    function sum(a, b) {
    return a + b;
    }
    module.exports = sum;

“index.test.js

代码语言:javascript
复制
   const sum = require('./index');

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

“如果需要在此处添加某些内容,则为package.json

代码语言:javascript
复制
    {
     "name": "my-app",
     "version": "1.0.0",
     "description": "",
     "main": "index.js",
     "scripts": {
     "test": "jest"
   },
    " author": "",
   "license": "ISC",
   "devDependencies": {
   "jest": "^24.7.1"
  }
  }

""“

EN

回答 1

Stack Overflow用户

发布于 2019-04-29 11:35:18

如果我没理解错的话,您是说您的测试失败了,因为当index.js运行时,全局gblob不存在。

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

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

index.test.js

代码语言:javascript
复制
global.gblob = {};  // <= create the global "gblob"

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

test('adds 1 + 2 to equal 3', () => {
  // ...
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55892739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档