在写入文件然后声明Cypress.io测试时,系统会抛出“预期的未定义相等”。

时间:2018-08-20 12:03:14

标签: javascript cypress

在写入文件然后声明Cypress.io测试时,系统抛出“ expected undefined equal to ..”。 “ data.json”文件已成功写入带有名称和电子邮件值的路径。控制台显示data.json值。为什么它抛出未定义?

describe('Write to file and verify data', function(){
    it.only('Check whether the writing to file and verify the json data', function(){
        cy.writeFile('../path/to/data.json', { name: 'Apple', email: 'apple@example.com' })
        .then((user) => {
            expect(user.name).to.equal('Apple')
            expect(user.email).to.equal('apple@example.com')            

        })

    })


})

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

这似乎是一个错误或错误的文档信息,因为如果您在此处看到writeFile的来源:https://github.com/cypress-io/cypress/blob/develop/packages/driver/src/cy/commands/files.coffee很明显,如果它是一个对象,则内容将被字符串化,并且该内容将被返回,因此您需要对返回的内容执行JSON.parse:

describe('Write to file and verify data', function(){
    it.only('Check whether the writing to file and verify the json data', function(){
        cy.writeFile('../path/to/data.json', { name: 'Apple', email: 'apple@example.com' })
        .then((user) => {
            let jsonUser = JSON.parse(user)
            expect(jsonUser.name).to.equal('Apple')
            expect(jsonUser.email).to.equal('apple@example.com')            

        })
    })
})