【发布时间】:2017-01-30 12:33:20
【问题描述】:
在为 ember.js 中的服务编写单元测试时,我看到了一种奇怪的交互。它只发生在数组上。
我有一个具有数组作为属性的服务。数组的状态在不同的测试之间共享。如果属性具有简单类型(例如数字),我看不到这种行为。你有什么提示吗?
这是一个演示问题的 ember-twiddle: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', []);
}
});
【问题讨论】:
标签: unit-testing ember.js