mha*_*tch 5 javascript karma-runner webpack karma-webpack
我将 Karma 与 karma-webpack 插件一起使用,用于与 babel 捆绑和转译。当测试出现错误时,我会收到一条很好的消息,其中包含包的行号,如下所示:
服务:文档服务
? 获得正确数量的顾问客户
TypeError: undefined is not an object (evaluating 'GLOBALS.TESTING_ENV') (line 37)
这很好,但我找不到在哪里访问包文件并检查所描述的行。
我尝试output在 webpack 配置中使用该选项,但这似乎没有任何作用。
这是我的 karma.conf:
module.exports = function(config) {
config.set({
basePath: __dirname + '/',
frameworks: ['phantomjs-shim', 'jasmine'],
files: [
'./test/**/*spec.js'
],
preprocessors: {
'src/**/*.js': ['webpack'],
'test/**/*.js': ['webpack']
},
webpack: {
mode: 'development',
output: {
path: path.resolve(__dirname, './build/'),
filename: 'app-[name].js',
chunkFilename: 'app-vendors.[chunkhash].js'
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: ['babel-loader']
}
]
}
},
reporters: ['spec'],
specReporter: {
suppressErrorSummary: false,
suppressFailed: false,
suppressPassed: false,
suppressSkipped: false,
showSpecTiming: false,
failFast: false
},
autoWatch: false,
browsers: ['PhantomJS'],
singleRun: true,
...
})
}
Run Code Online (Sandbox Code Playgroud)
测试包文件在哪里构建?有没有办法配置它以便我可以检查包?
我也曾为此苦苦挣扎,在重新审视这个问题后,我终于为我解决了它。
这些文件不会写入磁盘,因为 karma 默认使用 webpack-dev-middleware 将所有文件保留在内存中。如果您希望将文件发送到文件系统,请尝试
webpackMiddleware: {
writeToDisk: true,
}
Run Code Online (Sandbox Code Playgroud)
尽管在当前版本中 karma-webpack用path.join(os.tmpdir(), '_karma_webpack_', indexPath, '/').
| 归档时间: |
|
| 查看次数: |
377 次 |
| 最近记录: |