【发布时间】:2021-02-15 22:25:23
【问题描述】:
我需要检查该方法是否返回了一个类的实例,但我有点迷路了。
当我运行测试时,我会收到 ReferenceError。
Mapper.spec.js:
import { SetConfigurationRequestModel } from '../../usecases/Models/SetConfigurationRequestModel'
import { ISetConfigurationRequest } from '../requests/ISetConfigurationRequest'
import { Mapper } from './Mapper'
describe('Helpers/Mappers', () => {
describe('cfgRequest2RequestModel', () => {
test('should exist', () => {
const sut = new Mapper()
expect(sut.cfgRequest2RequestModel).toBeTruthy()
})
test('should be a method', () => {
const sut = new Mapper()
expect(typeof sut.cfgRequest2RequestModel).toBe('function')
})
test('should return a RequestModel', () => {
const sut = new Mapper()
const fakeRequest = makeFakeRequest()
const requestModel = sut.cfgRequest2RequestModel(fakeRequest)
expect(requestModel).toBeInstanceOf(SetConfigurationRequestModel)
})
})
})
Mapper.js:
import { SetConfigurationRequestModel } from '../../usecases/Models/SetConfigurationRequestModel'
import { ISetConfigurationRequest } from '../requests/ISetConfigurationRequest'
export class Mapper {
cfgRequest2RequestModel (request: ISetConfigurationRequest): object {
const request2 = new SetConfigurationRequestModel()
return request2
}
}
笑话输出:
FAIL src/delivery/helpers/mappers.spec.ts
● Helpers/Mappers › cfgRequest2RequestModel › should return a RequestModel
ReferenceError: SetConfigurationRequestModel is not defined
4 | export class Mapper {
5 | cfgRequest2RequestModel (request: ISetConfigurationRequest): object {
> 6 | const request2 = new SetConfigurationRequestModel()
| ^
7 | return request2
8 | }
9 | }
at Mapper.cfgRequest2RequestModel (src/delivery/helpers/Mapper.ts:6:22)
at Object.<anonymous> (src/delivery/helpers/mappers.spec.ts:42:32)```
【问题讨论】:
-
如果 import 语句丢失或
SetConfigurationRequestModel中存在拼写错误,即模块范围内没有具有此名称的变量,这是可能的。我不知道您发布的确切代码在何种情况下会出现此错误; -
@EstusFlask 非常感谢,我才意识到这是一个开玩笑的缓存问题。
标签: typescript jestjs instanceof ts-jest