【发布时间】:2019-07-06 03:25:49
【问题描述】:
当我通过 karma 运行单元测试时,我收到了这些警告:
12 02 2019 14:01:05.740:WARN [middleware:karma]: Invalid file type, defaulting to js. ts
12 02 2019 14:01:05.741:WARN [middleware:karma]: Invalid file type, defaulting to js. ts
我认为是karma.conf.js 文件的类型导致了问题,所以我将其更改为karma.conf.ts。
但是问题仍然存在,所以如果有人能告诉我如何禁用此警告,那就太好了。
下面是我的 karma.conf.ts 文件
module.exports = function karmaConfig(config) {
config.set({
singleRun: true,
frameworks: [
'jasmine'
],
files: [
'sdk/**/*.spec.ts'
],
preprocessors: {
'sdk/**/*.spec.ts': ['webpack', 'sourcemap'],
'sdk/**/!(*.spec).ts': ['coverage']
},
browsers: [
'PhantomJS'
],
reporters: [
'progress',
'coverage',
'junit'
],
coverageReporter: {
dir: 'coverage/',
reporters: [
{ type: 'text-summary' },
{ type: 'html' },
{
type: 'lcov',
dir: 'reports',
subdir: 'coverage'
}
]
},
junitReporter: {
outputFile: 'reports/junit/TEST-karma.xml',
useBrowserName: false
},
transports: ['polling'],
webpack: require('./webpack.config'),
webpackMiddleware: {
stats: 'errors-only'
},
logLevel: config.LOG_INFO,
});
};
我使用 webpack 4.16.5 和 karma 4.0.0
【问题讨论】:
-
你把信息倒退了。它切换到
js(或“默认为js)”,因为它是一个.ts文件。不过,我同意消息中的ts位置可能会产生误导。 -
谢谢@Seblor,但是,该消息在我将其切换到
.ts文件之前发生。因此,我将其切换到.ts文件以避免该消息。但它没有用 -
你能给我们你的文件结构,以及你使用的工具吗?也许 Karma 使用的其他文件是
.ts文件。 -
谢谢@Seblor。这很有趣,我在 karma.js 中发现,不支持 .ts 文件,如
const FILE_TYPES = [ 'css', 'html', 'js', 'dart', 'module', 'dom' ]。现在我需要知道如何解决这个问题(我不想手动触摸那个文件:D -
有一个修复 karma 以更好地显示错误。实际调试它有什么运气吗?
标签: typescript webpack karma-jasmine karma-runner