我想在mocha单元测试中使用declarations/hoge.d.ts
文件中声明的枚举值,但它显示ReferenceError: hoge is not defined
错误。
我的测试代码是这样的:
import hello from './hello';
import { expect } from 'chai';
describe('Hello function', () => {
it('should not return hoge', () => {
const result = hello();
expect(result).not.equal(hoge.FUGA);
});
});
声明文件是:
declare enum hoge {
HOGE,
FUGA
}
tsconfig.json文件:
{
"baseUrl": "./",
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": true
},
"files": [
"declarations/hoge.d.ts"
]
}
编译器看起来能够找到hoge.d.ts
但无法解析它。 VS代码和正在运行的测试都会发生引用错误。
有人能弄清楚出了什么问题吗?
答案 0 :(得分:1)
看起来您需要导入定义了hoge的模块。
也许添加
import {hoge} from './hoge'
或
import {hoge} from 'hoge'
或者可以将其称为hello.hoge
。 hoge
似乎不在范围内