Ist Jasmin soll ausführen Spezifikationen in der Reihenfolge in der Sie deklariert sind oder in einer zufälligen Reihenfolge?

un-Kommentar die letzten spec. All hell breaks loose... warum?

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++;
  //});

});

Dank @PWKad für den Hinweis auf dieses passiert, wenn es mehr als 10 tests.

  • Es lief immer in der deklarierten Reihenfolge für mich. Mein einzige Vorschlag ist, zur Senkung der real-suite auf das absolute minimum, das zeigt, das Thema und die post, dass der code in der Frage.
  • Ich don ' T haben eine riesige Menge an Erfahrung mit Jasmin, aber mit unit tests im Allgemeinen sollten Sie nicht erwarten, dass Sie laufen in einer bestimmten Reihenfolge - Sie sind unit-tests, nachdem alle. Wenn Sie einen bestimmten test benötigt bestimmte Bedingungen, sollte das im set-up/abreißen des Tests.
  • das Problem ist die Funktionalität getestet wird, wird zustandsorientiert und hat eine asynchrone API. Wenn ich es nicht kann davon abhängen, um Spezifikationen ausgeführt werden, ich werde am Ende mit einem tief verschachtelten Skillung, die ist hässlich und spiegelt nicht die Teile der API, die getestet sind. Ich kann damit Leben, wenn jemand weiß, was mit jasmine ' s "erwartete" Verhalten ist. Bis jetzt habe ich hatte die gleiche Erfahrung wie Michal Charemza.
  • Ich würde erwarten, dass die framework-Autoren erzählen würde, Sie nicht zu verlassen sich auf die Reihenfolge der tests wie dieser ist eine Implementierung detail, das kann sich ändern mit jedem release. Ich Schätze Ihren Kommentar oben, aber ich vermute, dass sich auf die Reihenfolge der Ausführung wird Ihnen der Schmerz bei den Kosten nicht mit "hässlich" - tests. In der Regel wird Ihr specs kann einen 'hintergrund', wo du dein setup.
  • Vereinbart, aber es gibt etwas darüber, dass mehr als 10 tests, ist die Auslösung der zufälligen Reihenfolge. Warum 10+?
  • Es läuft mit allen 11 Spezifikationen enthalten in tryjasmine.com funktioniert gut für mich. Muss jasmine-version spezifisch. Ich bin damit einverstanden, es wäre schön zu wissen, was dies verursacht, aber ich würde trotzdem nicht darauf verlassen, dass die spezifische Reihenfolge der tests.

Schreibe einen Kommentar