取消注释最后的规格。所有地狱都打破了......为什么?茉莉花应该按照它们的声明顺序或随机顺序执行规格吗?
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相同。 –