Cypress тест организация - PullRequest
0 голосов
/ 06 июня 2019

У меня вопрос по организации Cypress test. Я хотел бы получить ваши отзывы о том, как вы делите свои тесты?

Когда вы определяете тест с

it("", function() {}) 

сколько ты тестируешь? Вы ограничиваете себя в утверждениях?

У меня есть dataroom, в котором могут взаимодействовать два пользователя. Один пользователь может загружать файлы и общаться в чате с другим, а пользователь 2 может загружать только файлы и общаться в чате.

Что мне нужно проверить это:

  • Элемент списка
  • Загрузка документа пользователем # 1
  • Удаление документа пользователем # 1
  • Утверждает, что чат автоматически получает сообщения о загруженном и удаленном файле
  • пользователь # 2 может загружать документы
  • пользователь # 2 может закрыть базу данных и снова открыть ее
  • ...

Вопрос, который я задаю себе, касается количества тестов, которые я должен пройти.

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

Если у вас есть какие-либо предложения по организации вашего теста, я был бы рад их услышать!

1 Ответ

0 голосов
/ 06 июня 2019

Мне нравится делить свои тесты на отдельные предметы и сценарии.Таким образом, файл определения содержит только 1 предмет и содержит it за сценарий.Таким образом, возможен неудачный сценарий, не блокирующий все другие сценарии.

Например, если у вас есть дом, я бы разделил их следующим образом:

describe ('Living room', function (){
  it('Should have a couch', function(){
    // do checks for the couch
  })
  it('Should have a media table', function (){
    // do checks for the media table
  })
})

describe ('Kitchen', function (){
  it('Should have a stove', function(){
    // do checks for the stove
  })
  it('Should have a kitchen table', function (){
    // do checks for the kitchen table
  })
})

describe ('Bathroom', function (){
  it('Should have a shower', function(){
    // do checks for the shower
  })
  it('Should have a sink', function (){
    // do checks for the sink
  })
})
...