问:赛普拉斯装置-无法读取未定义的属性

时间:2020-10-05 14:25:06

标签: cypress

我正在尝试使用固定装置来保存不同测试的数据。这是代码示例。当进行第二次测试时,我得到“无法读取未定义的属性”电子邮件”。

关于为什么以及如何解决这个问题的任何想法?我对此并不陌生,并遵循了一个课程,他们说在“之前”中使用固定装置的全部目的是使所有数据都可以访问。是吗?

谢谢

describe('Example', function()
    {
        before(function(){
            cy.fixture('dataFile').then(function(dataJson){
                this.dataJson = dataJson
            })
        })
    
    
    it('name', function(){
        cy.log(this.dataJson.email)
    
    })
    it('name2', function(){
        cy.log(this.dataJson.email)
    
    })
   
    }
    )

1 个答案:

答案 0 :(得分:0)

您必须使用before()来代替beforeEach(),以便夹具数据可用于所有it()块。

describe('Example', function() {

  beforeEach(function() {
    cy.fixture('dataFile').then(function(dataJson) {
      this.dataJson = dataJson
    })
  })

  it('name', function() {
    cy.log(this.dataJson.email)
  })

  it('name2', function() {
    cy.log(this.dataJson.email)
  })

})