Кипарис, как упростить мой код, перед каждым? - PullRequest
0 голосов
/ 18 марта 2020

У меня есть этот код:

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')

Могу ли я написать это проще? Без повторного кода? Как и до каждого?

1 Ответ

1 голос
/ 29 марта 2020

ваш тест не содержит повторяющихся строк, которые можно отобразить и использовать в 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');
    });
...