赛普拉斯在每次学习之前如何简化我的代码?

时间:2020-03-18 19:08:18

标签: javascript automated-tests cypress

我有此代码:

cy.get('[data-cy=typ_pojisteni]').select('POV + HAV', {force: true}).should('have.value', '2')
        cy.get('[type="checkbox"]:visible').check().parent()
        cy.get(':checkbox').should('be.checked')
        cy.get('[type="checkbox"]:visible').uncheck().parent()
        cy.get(':checkbox:visible').should('not.to.be.checked')
        cy.get('[data-cy=typ_pojisteni]').select('POV', {force: true}).should('have.value', '0')
        cy.get('[type="checkbox"]:visible').check().parent()
        cy.get(':checkbox').should('be.checked')
        cy.get('[type="checkbox"]:visible').uncheck().parent()
        cy.get(':checkbox:visible').should('not.to.be.checked')

我可以更轻松地编写它吗?没有重复的代码?像beforeEach一样?

1 个答案:

答案 0 :(得分:0)

您的测试不包含可以在beforeEach中呈现和使用的重复行。我建议至少将其分成两个it块以使其更具可读性!

   it('should .....', () => {
        cy.get('[data-cy=typ_pojisteni]').select('POV + HAV', { force: true }).should('have.value', '2');
        cy.get('[type="checkbox"]:visible').check().parent();
        cy.get(':checkbox').should('be.checked');
        cy.get('[type="checkbox"]:visible').uncheck().parent();
        cy.get(':checkbox:visible').should('not.to.be.checked');
    });

    it('should ....', () => {
        cy.get('[data-cy=typ_pojisteni]').select('POV', { force: true }).should('have.value', '0');
        cy.get('[type="checkbox"]:visible').check().parent();
        cy.get(':checkbox').should('be.checked');
        cy.get('[type="checkbox"]:visible').uncheck().parent();
        cy.get(':checkbox:visible').should('not.to.be.checked');
    });