大家好,我是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"
}
答案 0 :(得分:0)
我猜你看到的错误是
type Eightbit = Int -- ...? 0 to 255?
SecurityError: localStorage is not available for opaque origins
的默认test environment是Jest
提供的类似浏览器的环境,对于测试旨在在浏览器中运行的React应用程序之类的代码,这是必需的。
如果您打算使用jsdom
作为测试环境,那么请need to set testURL
in the Jest
configuration,否则您将得到上面看到的错误。
如果您的代码旨在在jsdom
上运行,并且不需要类似浏览器的环境,则可以将测试环境设置为node
。
在这种情况下,最简单的方法是将node
中的pass it as a command line argument到jest
:
package.json