Подтвердить что ты не робот

Могут ли протрансляторные тесты выполняться в случайном порядке?

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

Есть ли способ сказать транспортиру, порядок испытаний может быть рандомизирован?

Я нашел запрос функции для Jasmine в pivotaltracker

4b9b3361

Ответ 1

Начиная с 10/10/17, можно установить параметр в файле protractor.conf.js JasmineNodeOpts для запуска спецификаций в полуслучайном порядке при использовании Jasmine, никакого кода не требуется.

В файле protract.conf.js добавьте следующий блок json:

  jasmineNodeOpts?: {
    ...
    /**
     * If true, run specs in semi-random order
     */
    random?: boolean,
    ...
  };

Источник

Ответ 2

Вы можете выполнить спецификации в случайном порядке, перетасовывая их в конце набора:

var shuffle = function (items) {
  var item, ii;      
  for(var i = 0; i < items.length; i++){
    ii = (Math.random() * items.length) | 0;
    item = items[i];
    items[i] = items[ii];
    items[ii] = item;
  }
}

describe('Suite', function() {

  it("should a", function () {
      console.log("execute a");
  });

  it("should b", function () {
      console.log("execute b");
  });

  it("should c", function () {
      console.log("execute c");
  });

  shuffle(this.children);    // shuffle the specs

});