Предполагается ли, что жасмин выполняет спецификации в том порядке, в котором они объявлены или в случайном порядке? - программирование

Предполагается ли, что жасмин выполняет спецификации в том порядке, в котором они объявлены или в случайном порядке?

игнорировать последнюю спецификацию. Все ад разрывается... почему?

describe('test', function() {
  var index = 1;

  it('test 1', function() {
    expect(index).toBe(1);
    index++;
  });

  it('test 2', function() {
    expect(index).toBe(2);
    index++;
  });

  it('test 3', function() {
    expect(index).toBe(3);
    index++;
  });

  it('test 4', function() {
    expect(index).toBe(4);
    index++;
  });

  it('test 5', function() {
    expect(index).toBe(5);
    index++;
  });

  it('test 6', function() {
    expect(index).toBe(6);
    index++;
  });

  it('test 7', function() {
    expect(index).toBe(7);
    index++;
  });

  it('test 8', function() {
    expect(index).toBe(8);
    index++;
  });

  it('test 9', function() {
    expect(index).toBe(9);
    index++;
  });

  it('test 10', function() {
    expect(index).toBe(10);
    index++;
  });

  // it('test 11', function() {
  //   expect(index).toBe(11);
  //   index++;
  // });

});

благодаря @PWKad для указания, что это происходит, когда есть более 10 тестов.

4b9b3361

Ответ 1

Да, Жасмин исполняет спецификации (это) по порядку. Возникла проблема с 2.3.0 до 2.3.3 с более чем 10 спецификациями. Я затронул ту же проблему в 2.3.3, проблема исправлена ​​в 2.3.4.

https://github.com/jasmine/jasmine/issues/850

Я просто использовал 2.3.4 вместо 2.3.3, и мои 15 тестов, наконец, прошли.

Ответ 2

В настоящее время (v2.x) Жасмин запускает тесты в том порядке, в котором они определены. Однако есть новый (октябрь 2015) вариант для запуска спецификаций в случайном порядке, который по-прежнему отключен по умолчанию. По словам владельца проекта, в Jasmine 3.x он будет преобразован в значение по умолчанию.

Литература: