You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中获取其他方法/函数的值?Cypress EMI校验问题

问题原因

  • 类方法调用错误:你仅实例化了abc类,没有调用EMILogic()方法获取计算结果,直接读取不存在的emi实例属性,因此得到undefined值,和页面实际值比对失败。
  • 方法内部语法错误:你将rate定义为const常量,后续又对其重新赋值,运行时会直接抛出类型错误;同时代码中出现了未定义的period变量,属于多余的错误逻辑。
  • 数据格式不匹配:计算得到的是数字类型,页面返回的是保留两位小数的字符串,直接比对会因格式不一致失败。

修正方案

  1. 调整EMILogic()方法内部的变量定义和逻辑,删除无效的period相关代码,将rate改为可修改的let类型
  2. 实例化类后主动调用EMILogic()方法获取计算结果,将结果格式化为两位小数的字符串后再和页面值比对

完整修正代码

describe('EMI Calculation', function () {
  class abc{
    EMILogic() {
      const amount = 20000;
      let rate = 5;
      const month = 2;
      let emi;
      rate = rate/(12*100);
      // 删除无效的period相关代码
      emi = (amount*rate*Math.pow(1+rate, month))/(Math.pow(1+rate, month)-1);
      // 直接返回两位小数的字符串,和页面格式对齐
      return emi.toFixed(2)
    }
  }

  it('EMI calculator', function () {
    const EMIdata = new abc();
    // 调用方法获取计算结果
    const targetEmi = EMIdata.EMILogic()
    cy.visit('emi-calculator.html')
    cy.get('.MR15').click()
    cy.get('#emi').should('have.text', targetEmi)
  })
})

内容的提问来源于stack exchange,提问作者shreyas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:15:04