我希望得到一些关于我为什么会出现间歇性测试失败的线索。当我运行整个模块时,我的验收测试失败,但是当它们单独运行时,所有单独的测试都会通过。这个问题似乎与使用循环断言有关,因为我有两个不同的测试失败,并且都有一个类似于这样的forEach循环:
import Ember from 'ember';
import { module, test } from 'qunit';
import startApp from "dwellconnect-app/tests/helpers/start-app";
var things;
module('Acceptance | something', {
beforeEach: function() {
this.application = startApp();
things = [
Ember.Object({someProperty: '1'}),
Ember.Object({someProperty: '2'}),
Ember.Object({someProperty: '3'}),
Ember.Object({someProperty: '4'}),
]
},
afterEach: function() {
Ember.run(this.application, 'destroy');
}
});
test('Something', function(assert) {
assert.expect(4);
visit('/something');
andThen(function() {
// Check that each thing is on the page
things.forEach(function(thing) {
var someSelector = 'span:contains("' + thing.someProperty + '")';
assert.equal(find(someSelector).length, 1, 'Shows each thing');
});
});
});
首先,这种方法是否有问题,如果是这样,在数据数组周围构建一组断言的正确方法是什么。如果没有,还有什么可能导致这个问题?即使您只能提供间歇性故障的可能方案,也可能导致我朝着正确的方向前进。现在没有错误,这让我发疯。我不确定福尔摩斯能找到这个。