大家好,我是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"
}
1条答案
按热度按时间ovfsdjhp1#
我猜你看到的错误是
SecurityError: localStorage is not available for opaque origins
Jest
的默认测试环境是由jsdom
提供的类似浏览器的环境,测试React应用程序等设计为在浏览器中运行的代码时需要该环境。如果您要使用
jsdom
作为测试环境,那么您必须使用need to settestURL
in theJest
configuration,否则您将得到上面看到的错误。如果你的代码是为在
node
上运行而设计的,并且你不需要一个类似浏览器的环境,那么你可以将你的测试环境设置为node
。在您的情况下,最简单的方法是将其作为命令行参数传递给
package.json
中的jest
:字符串