0
在编写ember.js中的服务的单元测试时,我看到了一个奇怪的交互。它只发生在数组上。EmberJS中的单元测试服务:如何防止测试之间的交互?
我有一个服务,它有一个数组作为属性。数组的状态在不同的测试中共享。如果属性具有简单类型(例如数字),我不会看到这种行为。你有什么暗示发生了什么?
这里是一个余烬,玩弄演示该问题:https://ember-twiddle.com/068e0c0fd7240e54c98972002fc2e34f?openFiles=tests.unit.services.my-service-test.js%2C
更新:我注意到它工作正常,如果我在init()
初始化数组但如果我宣布它作为服务对象的属性。像不同实例之间的数组和对象共享状态等复杂类型?
所以这是行不通的:
import Ember from 'ember';
export default Ember.Service.extend({
array: [],
});
这会不会按预期工作:
import Ember from 'ember';
export default Ember.Service.extend({
array: undefined,
init() {
this.set('array', []);
}
});