是否可以cy.intercept在同一个测试中多次拦截同一个 API 调用?我尝试了以下方法:
cy.intercept({ pathname: "/url", method: "POST" }).as("call1")
// ... some logic
cy.wait("@call1")
// ... some logic
cy.intercept({ pathname: "/url", method: "POST" }).as("call2")
// ... some logic
cy.wait("@call2")
Run Code Online (Sandbox Code Playgroud)
我预计cy.wait("@call2")会等待第二次调用 API。但是,第二个cy.wait将立即继续,因为第一个 API 调用与第二个相同。
我目前正在开发一个新的 ReactJS 应用程序。在我之前构建的所有应用程序中,我都使用 Express 进行服务器端渲染。我使用 Express 是因为如果我不这样做,生产模式下的路由将无法工作。
所以我最近发现可以总是将我的 React 应用程序重定向到我的 index.html 文件并让 React 路由来完成它的工作。当我将应用程序部署到生产环境时,这也适用。
我知道 Express 对 SEO porposes 很有用,但除此之外,我不知道为什么我需要使用它。所以我只是错过了什么吗?或者,如果我不需要任何 SEO,那么不要在我的 React 应用程序中使用 Express 就可以了。
我目前正在将我的应用程序更新为React 16.8,因此可以使用很棒的新钩子功能。更新React包(以及所有依赖项)不是问题,一切正常。但是,当我尝试设置ESLint时,当我尝试使用钩子时,它总是给我以下错误:
在函数“ projectInfo”中调用React Hook“ useEffect”,该函数既不是React函数组件也不是自定义的React Hook函数
我的组件看起来像这样:
import React, { useState} from 'react';
const myComponent = () => {
const [counter, setCounter] = useState(0);
return <span onClick={() => setCounter(counter + 1)}>{counter}</span>;
};
export default myComponent;
Run Code Online (Sandbox Code Playgroud)
我的.eslintsrc文件如下所示:
{
"extends": ["react-app"],
"plugins": [
"react-hooks"
],
"rules": {
"no-console": ["warn", { "allow": ["info", "error"] }],
"quotes": ["warn", "single"],
"semi": ["warn", "always"],
"no-debugger": ["warn"],
"eqeqeq": ["warn"],
"no-else-return": ["warn"],
"no-extra-bind": ["warn"],
"jsx-a11y/href-no-hash": false,
"prefer-destructuring": [
"warn",
{
"array": true,
"object": true
}, …Run Code Online (Sandbox Code Playgroud) reactjs ×2
alias ×1
api ×1
cypress ×1
eslint ×1
express ×1
javascript ×1
node.js ×1
react-hooks ×1