Angular 如何将新的Cypress组件测试运行程序用于角度项目?
我正在使用Cypress进行集成测试,如果可能的话,还想使用组件测试运行程序来测试单个组件。 目前,我只找到了使用React或View设置它的描述,而没有使用Angular 当我尝试启动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
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上运行。我经常遇到与第一次测试超时相同的问题。但当我重新启动测试时,它工作正常。