Node.js 将Mocha测试添加到Quasar和Vue.js

Node.js 将Mocha测试添加到Quasar和Vue.js,node.js,typescript,vue.js,Node.js,Typescript,Vue.js,我最近从Vue.js迁移到Quasar(这只是Vue.js应用程序的一组组件) 我有两个不同的应用程序,一个是使用vue-cli编写的,另一个是使用quasar-cli编写的。 带有vue cli的那一个安装了所有测试结构,我只需执行npm run unit,它就会找到我的所有mocha测试并运行它们 然后我将同样的结构复制到我的类星体项目中。它在dev模式下正确构建和运行,但当我执行此命令时: cross-env BABEL_ENV=test karma start test/unit/kar

我最近从Vue.js迁移到Quasar(这只是Vue.js应用程序的一组组件)

我有两个不同的应用程序,一个是使用
vue-cli
编写的,另一个是使用
quasar-cli
编写的。 带有
vue cli
的那一个安装了所有测试结构,我只需执行
npm run unit
,它就会找到我的所有mocha测试并运行它们

然后我将同样的结构复制到我的类星体项目中。它在
dev
模式下正确构建和运行,但当我执行此命令时:

cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run
我发现以下错误:

  • Typescript没有为..\src\sfc.d.ts发出任何输出
  • 模块分析失败:..\src\index.html意外标记(1:0) 您可能需要适当的加载程序来处理此文件类型
  • 未找到模块:错误:无法解析“..\src”中的“quasar/dist/quasar.start.css”

不知何故,在我开始业力之前,我错过了一些需要的配置。有线索吗?在使用Typescript的Vue.js中,相同的配置工作正常。

我假设您没有更改karma.conf.js。 如果是这种情况,您需要安装html加载程序,以便能够在测试期间加载html文件。接下来,对于css,您需要包含
build/css utils.js
中的styleRules实用程序

在webpack.test.conf.js中:

module: {
    rules: cssUtils
        .styleRules({
            sourceMap: true,
            postcss: true,
        })
        .concat([{
            test: /\.html$/,
            loader: 'html-loader',
        }])
    ...
}
如果这不起作用,我可能需要查看您在karma.conf.js和所有相关/必需代码(例如webpack.test.conf.js、webpack.base.conf.js、test/unit/index.js等)中的更改

编辑: 对于类星体v0.15+,情况将不再如此。您可以转到查看如何将其用于Vue CLI项目