Typescript 由于从.ts文件导入了服务,Jest测试失败
我有一个JestTypescript 由于从.ts文件导入了服务,Jest测试失败,typescript,jestjs,Typescript,Jestjs,我有一个Jest.spec.js文件导入了一个index.js我想要测试 .spec.js: var HttpService = require('./index.js').HttpService; var service_factory = require('../service-factory.ts'); 问题如下:index.js文件导入了一个有错误的.ts文件。这似乎不是项目中的一个问题(我不能触摸该.ts文件),但是当我运行jest测试时,我从该.ts文件中得到了错误 index.
.spec.js
文件导入了一个index.js
我想要测试
.spec.js
:
var HttpService = require('./index.js').HttpService;
var service_factory = require('../service-factory.ts');
问题如下:index.js
文件导入了一个有错误的.ts
文件。这似乎不是项目中的一个问题(我不能触摸该.ts文件),但是当我运行jest测试时,我从该.ts文件中得到了错误代码>
index.js
:
var HttpService = require('./index.js').HttpService;
var service_factory = require('../service-factory.ts');
服务工厂.ts
:
import Loglevel from 'loglevel';
错误:找不到模块“loglevel”或其相应的类型声明
window.App.services
错误:属性“App”在类型“Window&typeof globalThis”上不存在。
我在尝试运行测试时,引用.ts文件
时,正好遇到了这些错误
任何帮助都将不胜感激!谢谢一个.js文件导入一个.ts文件是非常不寻常的。错误似乎就在那里。Js只能在将typescript传输到javascript后导入它。看看是否有一个.js文件。如果不是,你可能需要先建立它。看起来很像是像JavaScript一样运行typescript时出现的错误。非常感谢,我想就是这样!我猜.ts是在项目运行时传输的,因此index.js会导入它。我将看看是否可以将其转换为.js或完全绕过它(测试可能对它不感兴趣)代码>,它指向typescript感知上下文中的.ts文件(例如,ts节点或ts jest),更典型的是指向javascript文件(在构建时的运行时)。如果看到jest设置中typescript从未在磁盘上传输,而是在需要时使用ts jest动态传输.ts source,我不会感到惊讶。但是我没有把.ts看作是导入的后缀,我也不希望它出现在javascript的require()
中。