鉴于Ember最近达到了1.0.0,我想开始使用它进行测试.我正在使用Yeoman 1.0和Karma.我想单元测试模型,但我发现很难完成隔离.
我现在的例子是:
describe("Expense",function() { return it("has a computed property called `explained`",function() { var expense = App.Expense.create({ name: "My first expense",value: 34 }); return expect(expense.get("explained")).to.equal("My first expense -- 34"); }); });
从1.0.0开始,我收到以下错误:
Error: You should not call `create` on a model. Instead,call `store.createRecord` with the attributes you would like to set.
我应该如何访问商店以创建模型实例?更理想的是,如何在不诉诸商店的情况下简单地生成这样的模型,这是否可行?为了测试IMO模型,产生整个应用程序毫无意义.
谢谢.
解决方法
这是我到目前为止用于单元测试模型的最小代码.
var container,store,expense; container = new Ember.Container(); container.register('store:main',DS.Store.extend()); container.register('model:expense',App.Expense); store = container.lookup('store:main'); Ember.run( function() { expense = store.createRecord('expense',{ name: "My first expense",value: 34 }); });
根据商店的代码和the way models are tested inside Ember Data,我认为你不能减少测试的设置.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。