首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Cypress类型

使用Cypress类型
EN

Stack Overflow用户
提问于 2020-02-18 10:45:40
回答 1查看 1.1K关注 0票数 3

我正在尝试用Cypress安装TypeScript。环境似乎设置得很好,但似乎存在一个问题,就是从Cypress中提取类型定义。

为了解构cy.wait('@graphql').then({request})参数,TypeScript抱怨您必须设置request参数的类型。Cypress似乎没有太多的类型输出,但是有Cypress.WaitXHRCypress.ObjectLike允许我黑进解决方案。

代码语言:javascript
复制
import Cypress from 'cypress';

type WaitXHR = Cypress.WaitXHR;
type ObjectLike = Cypress.ObjectLike;

describe('Admin Page', () => {
  it('Visits admin page', () => {
    cy.server()
      .route({
        method: 'POST',
        url: 'https://www.example.com/graphql',
      }).as('graphql');

    cy.visit('/');

    cy.wait('@graphql').then((xhr: WaitXHR) => {
      const { request }: { request: ObjectLike} = xhr;
      expect(request.body.operationName).to.equal('initalSetup');
    });
  });

这个解决方案似乎安抚了TypeScript,但感觉不太好。有更好的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-04-05 16:05:47

我已经这样做了,虽然我不喜欢使用‘任何’它更整洁。

代码语言:javascript
复制
import Cypress from 'cypress';
type ObjectLike = Cypress.ObjectLike;

interface WaitXHRCustom {
  request: ObjectLike;
  response: ObjectLike;
}

cy.wait(`@${aliasRequest}`).should((xhr: any) => {
  const { request, response } = xhr as WaitXHRCustom;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60279071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档