取消评论最后一个规格。一切都崩溃了......为什么?
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次测试时会发生这种情况。
答案 0 :(得分:16)
是的,Jasmine按顺序执行规范(it)。从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项测试终于通过了。
答案 1 :(得分:10)
目前(v2.x)Jasmine按照定义的顺序运行测试。但是,有一个新的(2015年10月)选项以随机顺序运行规范,默认情况下仍然关闭。根据项目所有者的说法,在Jasmine 3.x中它将被转换为默认值。
参考文献:
答案 2 :(得分:0)
我现在在 2021 年,事实上,默认情况下通过 npx jasmine init
的默认设置似乎设置了随机测试顺序。
肯定不是大多数开发人员所期望的。 (不是我所期望的!)
要按声明的顺序运行,请进入您的 spec/support/jasmine.json
并设置:
"random": false