【发布时间】:2021-12-13 22:34:29
【问题描述】:
我正在尝试拦截 POST 请求,但收到以下错误:
这是我的测试文件代码:
我发现了一个类似的问题:
cy.intercept is not a function Cypress test
通过升级 cypress 版本高于 v5.3 解决了这个问题。但我已经有 cypress 版本 6.14.15。该错误似乎只在.Then() 部分上复制,这很奇怪,因为在前一行代码中调用了cy.intercept 函数,而不是在.Then() 部分中。问题到底出在哪里?
编辑: 这是 package.json 文件
{
"name": "test-project-v2",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"test:unit": "vue-cli-service test:unit",
"test:e2e": "vue-cli-service test:e2e",
"lint": "vue-cli-service lint"
},
"dependencies": {
"axios": "^0.24.0",
"core-js": "^3.6.5",
"vue": "^3.0.0",
"vuex": "^4.0.0-0"
},
"cypress-cucumber-preprocessor": {
"nonGlobalStepDefinitions": true
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-e2e-cypress": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-unit-jest": "~4.5.0",
"@vue/cli-plugin-vuex": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"@vue/compiler-sfc": "^3.0.0",
"@vue/eslint-config-prettier": "^6.0.0",
"@vue/test-utils": "^2.0.0-0",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-vue": "^7.0.0",
"prettier": "^2.2.1",
"sass": "^1.26.5",
"sass-loader": "^8.0.2",
"typescript": "~3.9.3",
"vue-jest": "^5.0.0-0"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/vue3-essential",
"eslint:recommended",
"@vue/prettier"
],
"parserOptions": {
"parser": "babel-eslint"
},
"rules": {},
"overrides": [
{
"files": [
"**/__tests__/*.{j,t}s?(x)",
"**/tests/unit/**/*.spec.{j,t}s?(x)"
],
"env": {
"jest": true
}
}
]
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
],
"jest": {
"preset": "@vue/cli-plugin-unit-jest",
"transform": {
"^.+\\.vue$": "vue-jest"
}
}
}
【问题讨论】:
-
你能分享
package.json文件来检查赛普拉斯的版本吗? -
请提供足够的代码,以便其他人更好地理解或重现问题。
-
@Manuel Abascal 我刚刚分享了 package.json 文件。我还没有尝试过答案,但我今天会告诉你。
标签: vue.js http axios mocking cypress