unit-testing - 如何使用 vue/cli 进行 cypress 单元测试

标签 unit-testing vue.js cypress

我正在使用为 cypress e2e 测试配置的 vue/cli 3。 e2e 测试场景工作正常,但我也希望使用 cypress 进行单元测试。我安装了 cypress-vue-unit-test 但是当加载单个组件(使用 mountVue)时,cypress 无法解释 Vue 语法(等)。

我想我必须添加配置,以便在 cypress 捆绑文件时在预处理器阶段使用正确的 web pack 加载器。我一直无法弄清楚如何完成此操作,因为我的项目中没有 web pack 配置文件,而且我不确定如何修改预配置的设置。谁能指导我?

最佳答案

谢谢 phoet,您为我指明了正确的方向。解决方案是将配置放在 tests/e2e/plugins/index.js 中,内容如下(可能会被细化):



    const webpack = require("@cypress/webpack-preprocessor");
    const VueLoader = require("vue-loader/lib/plugin");

    const webpack_vue_cypress_config = {
      webpackOptions: {
        module: {
          rules: [
            {
              test: /\.vue$/,
              loader: "vue-loader"
            },
            {
              test: /\.css$/,
              use: ["vue-style-loader", "css-loader"]
            }
          ]
        },
        resolve: {
          extensions: [".js", ".vue", ".json"],
          alias: {
            vue$: "vue/dist/vue.esm.js",
            "@": "../../"
          }
        },
        plugins: [new VueLoader()]
      },
      watchOptions: {}
    };

    module.exports = (on, config) => {
      on("file:preprocessor", webpack(webpack_vue_cypress_config));
      return Object.assign({}, config, {
        fixturesFolder: "tests/e2e/fixtures",
        integrationFolder: "tests/e2e/specs",
        screenshotsFolder: "tests/e2e/screenshots",
        videosFolder: "tests/e2e/videos",
        supportFile: "tests/e2e/support/index.js"
      });
    };

关于unit-testing - 如何使用 vue/cli 进行 cypress 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52168030/

相关文章:

javascript - 在 chai 中测试错误类型

ios - OCMock 仅针对后代类的部分模拟

javascript - VueJS 路由器 : $route is not defined

javascript - 如何将Html布局加载到vuejs组件中?

javascript - 我可以在 Vue 实例方法内部传播的 mapMutations 中使用 "this"吗?

java - 相对于 DBUnit 数据集中当前的日期

browser - 是否可以使用 Cypress 将 `postMessage` 发送到应用程序?如何传递通过 `postMessage` 接收的数据?

javascript - 如何使用 then() 并在 Cypress 中获取值

javascript - Cypress JS 以及上传和附加图像的能力

unit-testing - 使用 FiltersUnitTestCase 对 Shiro 安全过滤器进行单元测试,IllegalStateException