【问题标题】:How do I refactor this Cypress fixtures code? [closed]我如何重构这个 Cypress fixtures 代码? [关闭]
【发布时间】:2023-02-12 17:56:47
【问题描述】:

我需要帮助重构这个 Cypress 代码

let stripe;
  let bookService;
  let images;
  let moreDetails;
  let checkoutDetails;
  let wait;
  before(() => {
    cy.visit('/');
    cy.fixture('stripe').then((data) => {
      stripe = data;
    });
    cy.fixture('bookService').then((data) => {
      bookService = data;
    });
    cy.fixture('images').then((data) => {
      images = data;
    });
    cy.fixture('moreDetails').then((data) => {
      moreDetails = data;
    });
    cy.fixture('wait').then((data) => {
      wait = data;
    });
  });

我努力了

stripe = cy.fixture('stripe')

但它返回一个对象 { specWindow: ..., chainerId: ...}

【问题讨论】:

  • 不要在 then 中修改外部变量。你会遇到问题
  • 我正在使用夹具在测试之前获取数据,就像这样```让条纹;让预订服务;让图像;让更多细节;让结帐详情;让等; before(() => { cy.visit('/'); cy.fixture('stripe').then((data) => { stripe = data; }); cy.fixture('bookService').then ((data) => { bookService = data; }); cy.fixture('images').then((data) => { images = data; }); cy.fixture('moreDetails').then(( data) => { moreDetails = data; }); ``` 我讨厌在每个测试文件中重复这个
  • 请您删除评论并更新问题?

标签: javascript cypress fixtures


【解决方案1】:

可以在规范的开头导入固定装置。您可以使用require()按照您建议的方式重构灯具,

let stripe = require('./cypress/fixtures/stripe.json')
let bookService = require('./cypress/fixtures/bookService.json')
let images = require('./cypress/fixtures/images.json')
let moreDetails = require('./cypress/fixtures/moreDetails.json')
let wait = require('./cypress/fixtures/wait.json')

before(() => {
    cy.visit('/');
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 2018-04-16
    相关资源
    最近更新 更多