node.js - 启动应用程序时出现“ReferenceError:未定义描述”错误
问题描述
我将使用 jest 测试 typescript(inversify) 代码。下面提到了用于测试控制器方法的代码。
describe('Test UserController',() =>{
let userService : UserServiceImpl = new UserServiceImpl();
let userController : UserController = new UserController(userService);
let req, res, next;
beforeEach(() => {
req = httpMocks.createRequest();
res = httpMocks.createResponse();
next = jest.fn();
req.authorization = 'eyJIjoxNjE0NTc2Mzc3LCJleHAiOjE2NDYxMTIzNzd9';
jest.mock("../../service/user-service-impl");
});
afterEach(() =>{
jest.resetAllMocks();
});
it('getUser method should work properly',async() => {
const userResponseStub : UserResponse = new UserResponse();
userResponseStub.username = 'username';
userResponseStub.email = 'email@test.com';
jest.spyOn(userService, "getUser").mockResolvedValue(userResponseStub);
const response = await userController.getUser(1);
expect(response).toBe(userResponseStub);
});
});
下面提到package.json
文件中与 jest 相关的配置
"jest": {
"verbose": true,
"testResultsProcessor": "jest-sonar-reporter",
"collectCoverage": true,
"collectCoverageFrom": [
"src/**/*.{js,jsx,tsx,ts}",
"!**/node_modules/**",
"!**/vendor/**"
],
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"json"
],
"coverageReporters": [
"lcov",
"text"
],
"transform": {
"^.+\\.(ts|tsx)$": "<rootDir>/preprocessor.js"
},
"testRegex": [
"(/__tests__/.*|(\\.|/)(test|spec))\\.(ts?|tsx?)$"
]
},
"jestSonar": {
"sonar56x": true
}
测试用例运行没有任何问题。但我将使用 运行应用程序npm start
,出现以下错误。
describe('Test UserController',() =>{
^
ReferenceError: describe is not defined
请帮我解决这个问题。任何帮助或解决方法都非常有用。
解决方案
推荐阅读
- state-machine - 用 2 个变量构建状态机
- javascript - 获取请求失败,状态为 403:snack.expo.io 上未定义
- python - 如何使用交互式图表将 jupyter notebook 导出为 html?
- php - PHP - htmlentities - 捷克语问题
- python-3.x - 我可以使用存储在 Docker 映像内的 GCS 存储桶中的 Python 模块吗?
- django - 翻译 django-allauth
- css - Bootstrap 是否默认添加水平间距?如果是这样,有没有办法覆盖这个设置?
- swift - 未设置初始大小时,RPSystemBroadcastPickerView 子视图的奇怪行为
- java - 优化:种植小麦和水稻
- mysql - MySQL 数据库迁移到新服务器