将模型传递给ember中的组件测试

时间:2014-12-23 22:25:49

标签: javascript ember.js

我有一个需要模型实例的组件。型号名称为WorkflowState。如何创建workflowstate的实例并注入组件。

我需要使用以下方法创建工作流状态:

WorkflowState.create('some data') 

因为构造函数有一些需要运行的逻辑。

我无法访问WorkflowState。我尝试添加像这样的导入语句

import WorkflowState from "../../../app/models/wokrflow-state";

但是没有编译......

知道我该怎么做吗?

我的测试看起来像这样:

  var stateString = 'some data';
  var state = WorkflowState.create(JSON.parse(stateString));

  var component = this.subject({
    workflow: {state: state}
  });
  // do some testing on the component

请帮助。感谢。

1 个答案:

答案 0 :(得分:4)

理想情况下,组件的测试应与其他单元隔离,如本例中的模型。您可以传递具有测试特定行为所需状态的假模型。

Ember.Object.create({ // the state you need })

并将其传递给组件

如果你真的需要传递一个真实的模型,你将不得不做更多的事情,创建一个容器并设置一个商店等,因为你不能直接在模型上调用.create,希望你可以避免所有的这一点。