取消註釋最後的規格。所有地獄都打破了......爲什麼?茉莉花應該按照它們的聲明順序或隨機順序執行規格嗎?
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次測試時會發生這種情況。
它總是跑在我的聲明的順序。我唯一的建議是將真正的套件減少到最低限度,以顯示問題並在問題中發佈代碼。 –
我對茉莉花沒有大量的經驗,但是對於一般的單元測試,你不應該指望它們以任何特定順序運行 - 畢竟它們是單元測試。如果一個特定的測試需要某些條件,那應該在該測試的設置/拆除中。 –
@JamesThorpe問題是被測試的功能是有狀態的並且具有異步API。如果我不能依賴訂單規範執行,我將得到一個深層嵌套的規範,這是醜陋的,並不反映正在測試的API部分。如果有人確切知道茉莉花的「預期」行爲是什麼,我可以忍受它。到目前爲止,我的經歷與Michal Charemza相同。 –