Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何将新的Cypress组件测试运行程序用于角度项目?_Angular_Cypress - Fatal编程技术网

Angular 如何将新的Cypress组件测试运行程序用于角度项目?

Angular 如何将新的Cypress组件测试运行程序用于角度项目?,angular,cypress,Angular,Cypress,我正在使用Cypress进行集成测试,如果可能的话,还想使用组件测试运行程序来测试单个组件。 目前,我只找到了使用React或View设置它的描述,而没有使用Angular 当我尝试启动node\u modules/.bin/cypress open ct时,我得到以下错误: 错误:需要注册用于组件测试的实现`dev server:start`事件的dev server插件。 我尝试在我的plugins文件中使用Cypress建议的实现: const { startDevServer } = r

我正在使用Cypress进行集成测试,如果可能的话,还想使用组件测试运行程序来测试单个组件。 目前,我只找到了使用React或View设置它的描述,而没有使用Angular

当我尝试启动
node\u modules/.bin/cypress open ct
时,我得到以下错误:
错误:需要注册用于组件测试的实现`dev server:start`事件的dev server插件。

我尝试在我的plugins文件中使用Cypress建议的实现:

const { startDevServer } = require('@cypress/webpack-dev-server')
const webpackConfig = require('../webpack.config.js')

module.exports = (on, config) => {
  on('dev-server:start', (options) => {
    return startDevServer({ options, webpackConfig })
  })

  return config
}
但它仍然失败


有机会让Angular运行吗?

好的,如果有人感兴趣,我自己修好了

我将Cypress文件夹中的index.js文件更新为:

const { startDevServer } = require('@cypress/webpack-dev-server')
const webpackConfig = require('../webpack.config.js')

module.exports = (on, config) => {
  on('dev-server:start', (options) => {
    return startDevServer({ options, webpackConfig })
  })

  return config
}
已安装“webpack”:“^4.44.0”和“html webpack plugin”:“4.0.0”,并使用以下代码创建了“webpack.config.js”:

// cypress/webpack.config.js
module.exports = {
  resolve: {
    extensions: [".ts", ".js"]
  },
  node: { fs: "empty", child_process: "empty", readline: "empty" },
  module: {
    rules: [
      {
        test: /\.ts$/,
        exclude: [/node_modules/],
        use: [
          {
          loader: "ts-loader"
          }
        ]
      }
    ]
  }
};
在Cypress文件夹中

删除了所有节点模块和package-lock.json,并执行了
npm i


现在它可以正常工作了。

我曾经以一种更复杂的方式使用Cypress组件测试,将它包装在另一个包中,从而面临这个问题


无论如何,如果您尝试使用
--config'
选项,请确保
不像
{“组件”:{“pluginfile”:“path/to/index.js”,…}
。将
组件中的选项提升到顶层,如
{“pluginsFile”:“path/to/index.js”,…}
,否则Cypress将尝试生成空的Cypress.json和Cypress/plugins/index.js文件。

您在Windows上运行了测试吗?您的回答在运行测试方面帮了我很大的忙,但现在我的测试在等待浏览器时超时,这似乎只是与Windows相关的问题。不,我的测试在MacOS上运行。我经常遇到与第一次测试超时相同的问题。但当我重新启动测试时,它工作正常。