Jest.js npm测试命令没有运行?

oyjwcjzk  于 2022-12-16  发布在  Jest
关注(0)|答案(1)|浏览(259)

大家好,我是nodejs的初学者。我想在我的代码中测试一些基本的功能。我使用JEST测试框架。在命令提示符中,我使用了npm测试我无法测试我的代码,它显示**npm错误!测试失败。**有人能解决这个问题吗?提前感谢...

lib.test.js:

const lib=require('../lib.js');


describe('absolute',()=>{

    it('It should return positive number if given number is positive',()=>{
        const result=lib.absolute(1);
        expect(result).toBe(1);
    });
    
    it('It should return positive number if given number is negative',()=>{
        const result=lib.absolute(-1);
        expect(result).toBe(1);
    })
    
    it('It should return zero if given number is zero',()=>{
        const result=lib.absolute(0);
        expect(result).toBe(1);
    });

});



lib.js:

// Testing numbers 
module.exports.absolute = function(number) {
  if (number > 0) return number; 
  if (number < 0) return -number; 
  return 0; 
}


package.json:

{
  "name": "testing-demo",
  "version": "1.0.0",
  "description": "",
  "main": "db.js",
  "directories": {
    "test": "tests"
  },
  "dependencies": {},
  "devDependencies": {
    "jest": "^22.2.2"
  },
  "scripts": {
    "test": "jest"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}
ovfsdjhp

ovfsdjhp1#

我猜你看到的错误是
SecurityError: localStorage is not available for opaque origins
Jest的默认测试环境是由jsdom提供的类似浏览器的环境,测试React应用程序等设计为在浏览器中运行的代码时需要该环境。
如果您要使用jsdom作为测试环境,那么您必须使用need to set testURL in the Jest configuration,否则您将得到上面看到的错误。
如果你的代码是为在node上运行而设计的,并且你不需要一个类似浏览器的环境,那么你可以将你的测试环境设置为node
在您的情况下,最简单的方法是将其作为命令行参数传递给package.json中的jest

"scripts": {
  "test": "jest --env=node"
},

字符串

相关问题