npm测试命令未运行?

时间:2019-01-20 13:39:54

标签: node.js unit-testing jestjs

大家好,我是nodejs的新手。我想测试代码中的一些基本功能。我使用的是 JEST 测试框架。在命令提示符下,我使用了 npm test 我无法测试它显示的代码 npm ERR!测试失败。任何人都可以解决此问题吗?预先感谢...

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"
}

1 个答案:

答案 0 :(得分:0)

我猜你看到的错误是

type Eightbit = Int -- ...? 0 to 255?


SecurityError: localStorage is not available for opaque origins的默认test environmentJest提供的类似浏览器的环境,对于测试旨在在浏览器中运行的React应用程序之类的代码,这是必需的。

如果您打算使用jsdom作为测试环境,那么请need to set testURL in the Jest configuration,否则您将得到上面看到的错误。

如果您的代码旨在在jsdom上运行,并且不需要类似浏览器的环境,则可以将测试环境设置为node

在这种情况下,最简单的方法是将node中的pass it as a command line argumentjest

package.json