Как вы группируете свой тестовый сценарий ios ('it ()') в кипарисе - PullRequest
0 голосов
/ 13 июля 2020

Недавно мне удалось выполнить свою задачу по включению в свой отчет об испытаниях в столбце «Пропустить», однако я заметил, что другой тест, который должен был пройти, не отображался в отчетах об испытаниях.

и вот как Я кодирую это:

describe('My simple test class',()=>{
   let rr = true
   beforeEach(()=>{
       if(rr == true){
           expect(2).to.equal(2)
           rr = true
       } else {
          rr = false
       }
   })

   it('child1'()=>{
      if(rr == true){
            expect(4).to.equal(4)
        } else {
            cy.end      
        }
      // - - - here i wanted to have some sort of nested or another 'it() depends but I don't know how
   })

   it('not related'()=>{
      expect(5).to.equal(5)
   }) 

})
    • теперь, когда выполняется утверждение, которое я сделал в beforeEach. в отчете он отображается в столбце «прохождение» только 2, и это относится к 2 тестовым случаям ниже, «child1» и «не связанные».

если утверждение I made in beforeEach ложно или не равно, тогда очевидно, что child1 будет пропущен, и он будет отображаться в отчете, как в столбце «Тесты» как 2, Failing как 1, и пропущен как 1 AND NO PASSING, который должен иметь 1 и который должен относиться к к тесту «не связанный».

Я новичок в кипарисе и не знаю, как эффективно сгруппировать его таким образом, чтобы это не повлияло на весь тест, если сделать это таким образом.

 it's like this way - -
 parenta - test scenario
   - child1a - test scenario
   - child2a - test scenario
   - child3a - test scenario
parentb - test scenario
   - child1b - test scenario
   - child2b - test scenario
   - child3b - test scenario

so if parenta is by assertion turned into false or bug then all of its child will be skip but if parentb and its child are passed then in reports all should appear as follows:

Tests | Passing | Failing | Pending | Skipped
  8   |    4    |    1    |         |   3

where:
Tests is the total test available parenta + childa + parentb + childb
Passing is the total passed test cases which is the parentb and its child
Failing is 1 which refer to parenta as a test scenario that fails or returned bug
Pending is obviously zero
Skipped is 3 which refers to the child of parenta

1 Ответ

1 голос
/ 13 июля 2020

Возможно, вам будет полезно пересмотреть свою стратегию тестирования. Использование условных пропусков не очень полезно для проверки надежности всех ваших компонентов и тестовых примеров. Вы запускаете тесты, поэтому их выполнение не должно ничего сломать и не должно причинить никакого вреда.

Вы должны тестировать положительные и отрицательные случаи и, кроме того, запускать каждый тестовый пример (it) полностью независимо от всех других тестов случаи. Следовательно, нет смысла пропускать тест B, если тест A не прошел. Если тест не проходит и оставляет какое-то странное состояние, очистите его с помощью метода жизненного цикла afterEach. Вы можете узнать больше о методах жизненного цикла здесь .

Для организации ваших тестов может помочь вам использование вложенных describe блоков:


describe('MyComponent', () => {
  it('should be some basic test' () => {
    // test something
  });

  describe('someComplexFunctionOfMyComponent', () => {
    it('should act like case A when X', () => {
      // test case A when X
    });
    it('should cat like case B when Y', () => {
      // test case B when Y
    });
  });
});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...